-
Notifications
You must be signed in to change notification settings - Fork 40
Variáveis
A API do Telegram suporta uma gama de tipos e estruturas de dados que são passados na chamada de seus métodos, porém apenas dois tipos de dados são suportados pelo interpretador de comandos BASH. São eles: integer e string. Para filtrar os dados e garantir que tipos incompatíveis não sejam enviados aos métodos, foram criadas expressões regulares para validação dos mesmos. O valor é verificado com base no tipo suportado pelo parâmetro ao qual foi passado, caso seja incompatível a função trata o erro de sintaxe e finaliza o script/thread.
O ShellBot possui variáveis com nomes reservados, nas quais são armazenados os valores extraídos dos objetos json sempre que o método ShellBot.getUpdates é chamado. A nomenclatura de cada variável é composta pelo prefixo do objeto a qual pertence, seguido pelo nome do campo. Utiliza-se o caractere _
(underscore) na composição, expressando de forma sucinta a estrutura dos dados.
Estrutura |
---|
objeto_campo |
Considere a variável message_text
que contém um tipo de dado string
com o corpo da mensagem enviada por um usuário ou bot.
Variável |
---|
message_text |
Objeto | Campo |
---|---|
message | text |
Mais de um objeto pode compor a nomenclatura da variável e expressar uma sub-estrutura de campos.
A variável message_reply_to_message_text
contém o texto original da mensagem respondida. Onde o objeto message
contém um campo chamado reply_to_message
cujo tipo é message
e que possui um campo text
.
Variável |
---|
message_reply_to_message_text |
Objeto | Campo | Campo |
---|---|---|
message | reply_to_message | text |
Nota: A nomenclatura é única e contém um tipo de dado a ser retornado. Caso tente acessar o seu valor sem a mesma ter sido inicializada, nenhum valor será retornado.
O valor de uma variável pode ser acessado utilizando apenas o seu identificador (nome).
echo $message_text
Se for especificado o número máximo de atualizações a serem retornadas na chamada do método ShellBot.getUpdates através do parâmetro -l, --limit <valor>
e se limit
for maior que 1, o valor da variável deverá ser acessado por indexação utilizando a expansão de variável.
ShellBot.getUpdates --limit 3
echo ${message_text[0]} # mensagem 1
echo ${message_text[1]} # mensagem 2
echo ${message_text[2]} # mensagem 3
Use o método ShellBot.ListUpdates para obter os índices do array.
Nota: Por padrão somente as variáveis que possuem objetos atualizados são instanciadas.
Um Array de Array ou Matriz multidimensional é um array com duas ou mais dimensões contendo um conjunto de elementos. O Bash não oferece suporte a esse tipo de array, por essa razão os elementos são agrupados no mesmo índice da variável e separados pelo delimitador ' '
(espaço).
variavel = 'item1 item2 item3 item4'
Nas variáveis a seguir estão armazenados um conjunto de elementos que representam as propriedades de um arquivo de imagem, são elas: id file_size height width
.
# Os ID's das imagens disponíveis
message_photo_file_id = 'AgADAQAD4KcxG0_l6UU3aWyr8yZ5KhcT9y8ABLF5dSD8IsvVgMgAAgI AgADAQAD4KcxG0_l6UU3aZyr8ym5KhcT9y8ABIQ7q5EOmrnYgcgAAgI AgADAQAD4KcxG0_l6UU3aWyr8ym5KhcT9y8ABE86mx5aXfQwgsgAAgI AgADAQAD4KcxG0_l6UU3aUyr8ym5KhcT9y8ABPte4YhC8Fzwf8gAAgI'
# Os Tamanhos dos arquivos
message_photo_file_size = '1478 21417 100945 222230'
# Dimensões
message_photo_height = '51 180 450 720'
message_photo_width = '90 320 800 1280'
Nota: A posição do elemento determina a qual item pertence.
Imprimindo as propriedades da imagem com a menor dimensão.
echo $message_photo_file_id | cut -d' ' -f1
echo $message_photo_file_size | cut -d' ' -f1
echo $message_photo_height | cut -d' ' -f1
echo $message_photo_width | cut -d' ' -f1
saida:
AgADAQAD4KcxG0_l6UU3aWyr8yZ5KhcT9y8ABLF5dSD8IsvVgMgAAgI # id
1478 # tamanho
51 # altura
90 # largura
Após a chamada do método ShellBot.getUpdates as atualizações disponíveis são lidas, os objetos da mensagem são tratados e as variáveis são carregadas na memória; Porém todo o processo ocorre em modo silencioso (não verboso). O modo monitor quando ativado exibe na saída padrão as variáveis inicializadas por mensagem e seus respectivos valores. Para ativar use o parâmetro -m
ou --monitor
no método ShellBot.init.
ShellBot.init --token <seu_token> --monitor
Nota: Por padrão o bot só tem acesso as mensagens enviadas em grupos/canais se as mesmas contiverem comandos. Os comandos são precedidos pelo caractere
/
(barra). Exemplo:/comando1
. Para ter acesso irrestrito a todas as mensagens é necessário que o bot seja administrador.
Saída padrão (modo monitor) após o envio de uma mensagem em um grupo no qual o bot é membro. As informações são listadas no formato variavel = 'valor'
.
=================== MONITOR ===================
Data: sáb set 16 09:06:31 -03 2017
Script: meu_bot.sh
Bot (nome): ▪️❌▫️
Bot (usuario): beta_bot
Bot (id): 123456789
-----------------------------------------------
Mensagem: 1
-----------------------------------------------
update_id = '870716554'
message_date = '1505563591'
message_message_id = '29159'
message_text = '/comando_teste'
message_chat_all_members_are_administrators = 'false'
message_chat_id = '-1122334455'
message_chat_title = 'grupoteste'
message_chat_type = 'group'
message_entities_length = '14'
message_entities_offset = '0'
message_entities_type = 'bot_command'
message_from_first_name = 'SHAMAN'
message_from_id = '11443322'
message_from_is_bot = 'false'
message_from_language_code = 'pt-BR'
message_from_username = 'x_SHAMAN_x'
Nota: Use essa opção para monitorar eventos, visualizar as variáveis inicializadas pela API e para facilitar o desenvolvimento do bot em um cenário de teste.
Objeto | Tipo | Descrição |
---|---|---|
update_id | Integer | O identificador exclusivo da atualização. Os identificadores de atualização começam de um certo número positivo e aumentam sequencialmente. Esta identificação torna-se especialmente útil se você estiver usando o Webhooks, pois permite ignorar as atualizações repetidas ou restaurar a sequência de atualização correta, caso elas saem de ordem. |
message | Message | Opcional. Nova mensagem recebida de qualquer tipo - texto, foto, etiqueta, etc. |
edited_message | Message | Opcional. Nova versão de uma mensagem conhecida pelo bot e editada |
channel_post | Message | Opcional. Novo canal de entrada de qualquer tipo - texto, foto, etiqueta, etc. |
edited_channel_post | Message | Opcional. Nova versão de uma publicação de canal conhecida pelo bot e editada |
inline_query | InlineQuery | Opcional. Nova consulta inline recebida. |
chosen_inline_result | ChosenInlineResult | Opcional. O resultado de uma consulta inline que foi escolhida por um usuário e enviada ao parceiro de bate-papo. |
callback_query | CallbackQuery | Opcional. Nova consulta de chamada de retorno. |
Contém informações sobre o status atual de um webhook.
Campo | Tipo | Descrição |
---|---|---|
url | String | Webhook URL, pode estar vazio se webhook não estiver configurado. |
has_custom_certificate | Boolean | True, se um certificado personalizado fosse fornecido para verificações de certificados webhook. |
pending_update_count | Integer | Número de atualizações aguardando entrega. |
last_error_date | Integer | Opcional. Tempo Unix para o erro mais recente que aconteceu ao tentar entregar uma atualização via webhook. |
last_error_message | String | Opcional. Mensagem de erro em formato legível para humanos para o erro mais recente que aconteceu ao tentar enviar uma atualização via webhook. |
max_connections | Integer | Opcional. Número máximo permitido de conexões HTTPS simultâneas para o webhook para atualização de entrega. |
allowed_updates | Array de String | Opcional. Uma lista de tipos de atualização em que o bot está inscrito. Predefinições para todos os tipos de atualização. |
Todos os tipos utilizados nas respostas da API Bot são representados como objetos JSON.
Os campos opcionais podem não ser devolvidos quando irrelevantes.
Este objeto representa um usuário ou bot de Telegram.
Campo | Tipo | Descrição |
---|---|---|
id | Integer | Identificador exclusivo para este usuário ou bot |
is_bot | Boolean | True, se esse usuário é um bot |
first_name | String | Nome do usuário ou do bot |
last_name | String | Opcional. Sobrenome do usuário ou do bot |
username | String | Opcional. Nome de usuário ou bot |
language_code | String | Opcional. Tag de idioma IETF do idioma do usuário |
Este objeto representa um bate-papo.
Campo | Tipo | Descrição |
---|---|---|
id | Integer | Identificador exclusivo para este bate-papo. Este número pode ser superior a 32 bits e algumas linguagens de programação podem ter dificuldade / defeitos silenciosos na interpretação. Mas é menor do que 52 bits, então um tipo de flutuador inteiro ou de precisão dupla de 64 bits assinado é seguro para armazenar esse identificador. |
type | String | Tipo de bate-papo, pode ser "private", "group", "supergroup" ou "channel" |
title | String | Opcional. Título para supergrupos, canais e grupos. |
username | String | Opcional. Nome de usuário para bate-papo privado, supergrupos e canais, se disponível |
first_name | String | Opcional. Primeiro nome da outra parte em um bate-papo privado |
last_name | String | Opcional. Segundo nome da outra parte em um bate-papo privado |
all_members_are_administrators | Boolean | Opcional. True se um grupo tiver 'Todos os membros são administradores' habilitado. |
photo | ChatPhoto | Opcional. Foto de bate-papo. Retorna apenas no ShellBot.getChat. |
description | String | Opcional. Descrição para supergrupos, chats e canais. Retorna apenas no ShellBot.getChat |
invite_link | String | Opcional. Link de convidado de bate-papo para supergrupos e canais. Retorna apenas no ShellBot.getChat |
pinned_message | Message | Opcional. Mensagem fixa para supergrupos. Retorna apenas no ShellBot.getChat |
Este objeto representa um mensagem.
Campo | Tipo | Descrição |
---|---|---|
message_id | Integer | Identificador de mensagem exclusivo dentro deste bate-papo |
from | User | Opcional. Remetente, vazio para mensagens enviadas para canais |
date | Integer | Data em que a mensagem foi enviada no tempo do Unix |
chat | Chat | Messagem a qual bate-papo pertence |
forward_from | User | Opcional. Para mensagens encaminhadas o remetente da mensagem original |
forward_from_chat | Chat | Opcional. Para as mensagens encaminhadas a partir de canais, informações sobre o canal original |
forward_from_message_id | Integer | Opcional. Para mensagens encaminhadas a partir de canais, identificador da mensagem original |
forward_signature | String | Opcional. Para mensagens encaminhadas a partir de canais, assinatura do autor de postagem se presente |
forward_date | Integer | Opcional. Para as mensagens encaminhadas, data em que a mensagem original foi enviada no tempo do Unix |
reply_to_message | Message | Opcional. Para respostas, a mensagem original. Observe que o objeto Mensagem neste campo não conterá mais campos reply_to_message mesmo se ele próprio for uma resposta. |
edit_date | Integer | Opcional. Data em que a última mensagem foi editada no tempo do Unix. |
author_signature | String | Opcional. Assinatura do autor do post para mensagens nos canais. |
text | String | Opcional. Para mensagens de texto, o texto UTF-8 da mensagem, de 0 a 4096 caracteres. |
entities | Array de MessageEntity | Opcional. Para mensagens de texto, entidades especiais como nomes de usuário, URLs, comandos de bot e etc que aparecem no texto. |
audio | Audio | Opcional. Mensagem é um arquivo de áudio, informações sobre o arquivo. |
document | Document | Opcional. A mensagem é um arquivo geral, informações sobre o arquivo. |
game | Game | Opcional. A mensagem é um jogo. |
photo | Array de PhotoSize | Optional. Message is a photo, available sizes of the photo. |
sticker | Sticker | Opcional. A mensagem é um adesivo, informações sobre o adesivo. |
video | Video | Opcional. Mensagem é um vídeo, informações sobre o vídeo. |
voice | Voice | Opcional. Mensagem é uma mensagem de voz, informações sobre o arquivo. |
video_note | VideoNote | Opcional. A mensagem é uma nota de vídeo, informações sobre a mensagem de vídeo. |
new_chat_members | Array de User | Opcional. Novos membros que foram adicionados ao grupo ou ao supergrupo e informações sobre eles (o próprio bot pode ser um desses membros) |
caption | String | Opcional. Legenda do documento, foto ou vídeo, 0 a 200 caracteres. |
contact | Contact | Opcional. A mensagem é um contato compartilhado. |
location | Location | Opcional. Mensagem é uma localização compartilhada. |
venue | Venue | Opcional. A mensagem é um local. |
new_chat_member | User | Opcional. Um novo membro foi adicionado ao grupo, informações sobre eles (este membro pode ser o próprio bot). |
left_chat_member | User | Opcional. Um membro foi removido do grupo, informações sobre eles (este membro pode ser o próprio bot). |
new_chat_title | String | Opcional. Um título de bate-papo foi alterado para esse valor. |
new_chat_photo | Array de PhotoSize | Opcional. Uma foto de bate-papo foi alterada para esse valor. |
delete_chat_photo | True | Opcional. Mensagem de serviço: a foto do bate-papo foi excluída. |
group_chat_created | True | Opcional. Mensagem de serviço: o grupo foi criado. |
supergroup_chat_created | True | Opcional. Mensagem de serviço: o supergrupo foi criado. Este campo não pode ser recebido em uma mensagem que vem através de atualizações, porque o bot não pode ser um membro de um supergrupo quando ele é criado. Só pode ser encontrado em reply_to_message se alguém responder a uma primeira mensagem em um supergrupo criado diretamente. |
channel_chat_created | True | Opcional. Mensagem de serviço: o canal foi criado. Este campo não pode ser recebido em uma mensagem que vem por meio de atualizações, porque o bot não pode ser um membro de um canal quando ele é criado. Só pode ser encontrado em reply_to_message se alguém responder a uma primeira mensagem em um canal. |
migrate_to_chat_id | Integer | Opcional. O grupo foi migrado para um supergrupo com o identificador especificado. Este número pode ser superior a 32 bits e algumas linguagens de programação podem ter dificuldade / defeitos silenciosos na interpretação. Mas é menor do que 52 bits, então um tipo de flutuador inteiro ou de precisão dupla de 64 bits assinado é seguro para armazenar esse identificador. |
migrate_from_chat_id | Integer | Opcional. O supergrupo foi migrado de um grupo com o identificador especificado. Este número pode ser superior a 32 bits e algumas linguagens de programação podem ter dificuldade / defeitos silenciosos na interpretação. Mas é menor do que 52 bits, então um tipo de flutuador inteiro ou de precisão dupla de 64 bits assinado é seguro para armazenar esse identificador. |
pinned_message | Message | Opcional. A mensagem especificada foi fixada. Observe que o objeto Mensagem neste campo não conterá mais campos reply_to_message, mesmo que ele seja uma resposta. |
Este objeto representa uma entidade especial em uma mensagem de texto. Por exemplo, hashtags, nomes de usuários, URLs e etc.
Campo | Tipo | Descrição |
---|---|---|
type | String | Tipo da entidade. Pode ser mencionado hashtag , bot_command , url , email , bold (bold text), italic (italic text), code (monowidth string), pre (monowidth block), text_link (para textos de url clicaveis), text_mention (para usuários sem username), cashtag e photo_number . |
offset | Integer | Offset em unidades de código UTF-16 para o início da entidade. |
length | Integer | Comprimento da entidade em unidades de código UTF-16. |
url | String | Opcional. Somente para "texto_link", url que será aberto após o usuário tocar no texto. |
user | User | Opcional. Apenas para "text_mention". O usuário mencionado. |
Este objeto representa um tamanho de uma foto ou uma miniatura de file/Sticker.
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador único para o arquivo. |
width | Integer | Largura da foto. |
height | Integer | Altura da foto. |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa um arquivo de áudio a ser tratado como música pelos clientes Telegram.
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador único para o arquivo. |
duration | Integer | Duração do áudio em segundos conforme definido pelo remetente. |
performer | String | Opcional. Performer do áudio conforme definido pelo remetente ou por tags de áudio. |
title | String | Opcional. Título do áudio conforme definido pelo remetente ou por tags de áudio. |
mime_type | String | Opcional. Tipo MIME do arquivo conforme definido pelo remetente. |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa um arquivo geral (em oposição a fotos, mensagens de voz e arquivos de áudio).
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador único para o arquivo. |
thumb | PhotoSize | Opcional. Miniatura do documento conforme definido pelo remetente. |
file_name | String | Opcional. Nome do arquivo original conforme definido pelo remetente. |
mime_type | String | Opcional. Tipo MIME do arquivo conforme definido pelo remetente. |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa um arquivo de vídeo.
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador único para o arquivo. |
width | Integer | Largura da video. |
height | Integer | Altura da video. |
duration | Integer | Duração do vídeo em segundos conforme definido pelo remetente. |
thumb | PhotoSize | Opcional. Miniatura do vídeo |
mime_type | String | Opcional. Tipo MIME do arquivo conforme definido pelo remetente. |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa uma nota de voz.
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador único para o arquivo. |
duration | Integer | Duração do audio em segundos conforme definido pelo remetente. |
mime_type | String | Opcional. Tipo MIME do arquivo conforme definido pelo remetente. |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa uma mensagem de vídeo (disponível nos aplicativos Telegram como v.4.0).
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador único para o arquivo. |
length | Integer | Largura e altura do vídeo, conforme definido pelo remetente. |
duration | Integer | Duração do video em segundos conforme definido pelo remetente. |
thumb | PhotoSize | Opcional. Miniatura do vídeo |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa um contato de telefone.
Campo | Tipo | Descrição |
---|---|---|
phone_number | String | Número de telefone do contato. |
first_name | String | Primeiro nome do contato. |
last_name | String | Opcional. Segundo nome do contato. |
user_id | Integer | Opcional. Identificador de usuário do contato no Telegram. |
Este objeto representa um ponto no mapa.
Campo | Tipo | Descrição |
---|---|---|
longitude | Float | Longitude conforme definido pelo remetente. |
latitude | Float | Latitude conforme definida pelo remetente. |
Este objeto representa um local.
Campo | Tipo | Descrição |
---|---|---|
location | Location | Localização do local. |
title | String | Nome do local. |
address | String | Endereço do local. |
foursquare_id | String | Opcional. Identificador do quadrante do local. |
Este objeto representa as imagens de perfil de um usuário.
Campo | Tipo | Descrição |
---|---|---|
total_count | Integer | Número total de imagens de perfil que o usuário alvo possui. |
photos | Array de Array de PhotoSize | Imagens de perfil solicitadas (em até 4 tamanhos cada). |
Este objeto representa um arquivo pronto para ser baixado. O arquivo pode ser baixado através do link https://api.telegram.org/file/bot<_token_>/<file_path>
. É garantido que o link será válido por pelo menos 1 hora. Quando o link expira, um novo pode ser solicitado chamando ShellBot.getFile.
O tamanho máximo do arquivo para download é de 20 MB.
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador exclusivo para este arquivo. |
file_size | Integer | Opcional. Tamanho do arquivo, se conhecido. |
file_path | String | Opcional. Caminho do arquivo. Use https://api.telegram.org/file/bot<token>/<file_path> para obter o arquivo. |
Este objeto representa um teclado personalizado com opções de resposta.
Campo | Tipo | Descrição |
---|---|---|
keyboard | Array do Array de KeyboardButton | Array de linhas de botão, cada uma representada por uma matriz de objetos KeyboardButton. |
resize_keyboard | Boolean | Opcional. Solicita aos clientes que redimensionem o teclado verticalmente para um ajuste ótimo (por exemplo, reduz o teclado se houver apenas duas linhas de botões). O padrão é falso, caso em que o teclado personalizado é sempre da mesma altura que o teclado padrão do aplicativo. |
one_time_keyboard | Boolean | Opcional. Solicita aos clientes que escondam o teclado assim que ele foi usado. O teclado ainda estará disponível, mas os clientes exibirão automaticamente o teclado de letras usual no chat - o usuário pode pressionar um botão especial no campo de entrada para ver novamente o teclado personalizado. Por padrão, é falso. |
selective | Boolean | Opcional. Use este parâmetro se desejar mostrar o teclado apenas para usuários específicos. Alvos: 1) usuários que são mencionados no texto do objeto Mensagem; 2) se a mensagem do bot for uma resposta (tenha reply_to_message_id), remetente da mensagem original. Exemplo: um usuário solicita mudar o idioma do bot, o bot responde ao pedido com um teclado para selecionar o novo idioma. Outros usuários do grupo não vêem o teclado. |
Este objeto representa um botão do teclado de resposta. Para botões de texto simples A seqüência pode ser usada em vez deste objeto para especificar o texto do botão. Os campos opcionais são mutuamente exclusivos.
Campo | Tipo | Descrição |
---|---|---|
text | String | Texto do botão. Se nenhum dos campos opcionais forem usados, ele será enviado ao bot como uma mensagem quando o botão for pressionado. |
request_contact | Boolean | Opcional. Se for true, o número de telefone do usuário será enviado como contato quando o botão for pressionado. Disponível apenas em bate-papo privado. |
request_location | Boolean | Opcional. Se for true, a localização atual do usuário será enviada quando o botão for pressionado. Disponível apenas em bate-papo privado. |
Nota: as opções de solicitação de contato e de localização de solicitação só funcionam nas versões Telegram lançadas após 9 de abril de 2016. Os clientes mais velhos as ignorarão.
Ao receber uma mensagem com este objeto, os clientes do Telegram removerão o teclado personalizado atual e exibirão o teclado-letra padrão. Por padrão, os teclados personalizados são exibidos até que um novo teclado seja enviado por um bot. Uma exceção é feita para teclados únicos que estão escondidos imediatamente após o usuário pressionar um botão.
Campo | Tipo | Descrição |
---|---|---|
remove_keyboard | True | Solicita aos clientes que removam o teclado personalizado (o usuário não poderá convocar esse teclado, se você quiser esconder o teclado da visão, mas mantê-lo acessível, use one_time_keyboard em ReplyKeyboardMarkup. |
selective | Boolean | Opcional. Use este parâmetro se desejar remover o teclado apenas para usuários específicos. Alvos: 1) usuários que são mencionados no texto do objeto Message; 2) se a mensagem do bot for uma resposta (tenha reply_to_message_id), remetente da mensagem original. Exemplo: Um usuário vota em uma enquete, o bot retorna a mensagem de confirmação em resposta à votação e remove o teclado para esse usuário, enquanto ainda mostra o teclado com opções de pesquisa para usuários que ainda não votaram. |
Este objeto representa um inline keyboard que aparece ao lado da mensagem a que pertence.
Campo | Tipo | Descrição |
---|---|---|
inline_keyboard | Array de Array de InlineKeyboardButton | Array de linhas de botão, cada uma representada por uma matriz de InlineKeyboardButton. |
Nota: Isso só funcionará nas versões Telegram lançadas após 9 de abril de 2016. Os clientes mais antigos exibirão uma mensagem não suportada.
Este objeto representa um botão de um teclado em linha. Você deve usar exatamente um dos campos opcionais.
Campo | Tipo | Descrição |
---|---|---|
text | String | Texto no botão. |
url | String | Opcional. Url HTTP a ser aberto quando o botão é pressionado. |
callback_data | String | Opcional. Dados a serem enviados em um callback query para o bot quando o botão é pressionado, 1-64 bytes. |
switch_inline_query | String | Opcional. Se configurado, pressionar o botão solicitará ao usuário selecionar um dos seus bate-papos, abrir esse bate-papo e inserir o nome de usuário do bot e a consulta inline especificada no campo de entrada. Pode estar vazio, caso em que apenas o nome de usuário do bot será inserido. |
switch_inline_query_current_chat | String | Opcional. Se configurado, pressionar o botão irá inserir o nome de usuário do bot e a consulta inline especificada no campo de entrada do bate-papo atual. Pode estar vazio, caso em que apenas o nome de usuário do bot será inserido. Isso oferece uma maneira rápida para o usuário abrir seu bot no modo inline no mesmo bate-papo - bom para selecionar algo de várias opções. |
Este objeto representa uma consulta de retorno de chamada recebida de um botão de retorno de chamada em um inline keyboard. Se o botão que originou a consulta foi anexado a uma mensagem enviada pelo bot, a mensagem de campo estará presente. Se o botão foi anexado a uma mensagem enviada via o bot (no modo inline), o campo inline_message_id estará presente. Exatamente um dos campos de dados ou game_short_name estará presente.
Campo | Tipo | Descrição |
---|---|---|
id | String | Identificador exclusivo para esta consulta. |
from | User | Remetente. |
message | Message | Opcional. Mensagem com o botão de retorno de chamada que originou a consulta. Observe que o conteúdo da mensagem e a data da mensagem não estarão disponíveis se a mensagem for muito antiga. |
inline_message_id | String | Opcional. Identificador da mensagem enviada via o bot no modo inline, que originou a consulta. |
chat_instance | String | Identificador global, correspondente exclusivamente ao chat para o qual a mensagem com o botão de retorno de chamada foi enviada. Útil para altas pontuações nos jogos. |
data | String | Opcional. Dados associados ao botão de retorno de chamada. Esteja ciente de que um cliente ruim pode enviar dados arbitrários neste campo. |
game_short_name | String | Opcional. Nome abreviado de um jogo a ser devolvido, serve como o identificador exclusivo para o jogo. |
NOTA: Depois que o usuário pressionar um botão de retorno de chamada, os clientes do Telegram exibirão uma barra de progresso até você chamar ShellBot.answerCallbackQuery. Portanto, é necessário reagir ao chamar ShellBot.answerCallbackQuery, mesmo que não seja necessária notificação ao usuário (por exemplo, sem especificar nenhum dos parâmetros opcionais).
Ao receber uma mensagem com este objeto, os clientes do Telegram exibirão uma interface de resposta para o usuário (atue como se o usuário selecionasse a mensagem do bot e tocasse 'Responder'). Isso pode ser extremamente útil se você quiser criar interfaces passo-a-passo fáceis de usar sem ter que sacrificar o modo de privacidade.
Campo | Tipo | Descrição |
---|---|---|
force_reply | True | Mostra a interface de resposta para o usuário, como se eles selecionassem manualmente a mensagem do bot e tocassem 'Responder'. |
selective | Boolean | Opcional. Use este parâmetro se desejar forçar a resposta apenas de usuários específicos. Alvos: 1) usuários que são mencionados no texto do objeto Message; 2) se a mensagem do bot for uma resposta (tenha reply_to_message_id), remetente da mensagem original. |
Exemplo: Um motor de pesquisa para grupos é executado no modo de privacidade (apenas recebe comandos, respostas a suas mensagens e menções). Poderia haver duas maneiras de criar uma nova pesquisa:
- Explique ao usuário como enviar um comando com parâmetros (por exemplo: /NovaPesquisa resposta1 respota2 resposta3). Pode ser atraente para os usuários incondicionais, mas falta o polonês moderno.
- Guie o usuário através de um processo passo a passo. "Por favor, envie-me sua pergunta", "Legal, agora vamos adicionar a primeira opção de resposta", "Ótimo". Continue adicionando opções de resposta, depois envie /termine quando estiver pronto'.
A última opção é definitivamente mais atraente. E se você usa ForceReply nas perguntas do seu bot, receberá as respostas do usuário, mesmo que apenas receba respostas, comandos e menções - sem qualquer trabalho extra para o usuário.
Este objeto representa uma foto de bate-papo.
Campo | Tipo | Descrição |
---|---|---|
small_file_id | String | Identificador de arquivo exclusivo da foto de bate-papo pequena (160x160). Este arquivo_id pode ser usado apenas para download de fotos. |
big_file_id | String | Identificador de arquivo exclusivo de grande (640x640) foto de bate-papo. Este arquivo_id pode ser usado apenas para download de fotos. |
Este objeto contém informações sobre um membro de um bate-papo.
Campo | Tipo | Descrição |
---|---|---|
user | User | Informações sobre o usuário. |
status | String | O status do membro no bate-papo. Pode ser “creator”, “administrator”, “member”, “restricted”, “left” ou “kicked”. |
until_date | Integer | Opcional. Restictred e chutado apenas. Data em que as restrições serão levantadas para este usuário, tempo unix. |
can_be_edited | Boolean | Opcional. Administradores apenas. É true, se o bot pode editar os privilégios de administrador desse usuário. |
can_change_info | Boolean | Opcional. Administradores apenas. É true, se o administrador pode alterar o título do bate-papo, a foto e outras configurações. |
can_post_messages | Boolean | Opcional. Administradores apenas. É true, se o administrador pode postar no canal, apenas canais. |
can_edit_messages | Boolean | Opcional. Administradores apenas. É true, se o administrador pode editar mensagens de outros usuários, apenas canais. |
can_delete_messages | Boolean | Opcional. Administradores apenas. É true, se o administrador pode excluir mensagens de outros usuários. |
can_invite_users | Boolean | Opcional. Administradores apenas. É true, se o administrador pode convidar novos usuários para o bate-papo. |
can_restrict_members | Boolean | Opcional. Administradores apenas. É true, se o administrador pode restringir, proibir ou cancelar os membros do bate-papo. |
can_pin_messages | Boolean | Opcional. Administradores apenas. É true, se o administrador pode inserir mensagens, somente supergrupos |
can_promote_members | Boolean | Opcional. Administradores apenas. É true, se o administrador pode adicionar novos administradores com um subconjunto de seus próprios privilégios ou administradores de rejeições que promoveu, direta ou indiretamente (promovido por administradores que foram nomeados pelo usuário). |
can_send_messages | Boolean | Opcional. Somente restrito. É true, se o usuário pode enviar mensagens de texto, contatos, locais e locais. |
can_send_media_messages | Boolean | Opcional. Somente restrito. É true, se o usuário pode enviar áudios, documentos, fotos, vídeos, notas de vídeo e notas de voz, implica can_send_messages. |
can_send_other_messages | Boolean | Opcional. Somente restrito. É true, se o usuário pode enviar animações, jogos, adesivos e usar bots inline, implica can_send_media_messages. |
can_add_web_page_previews | Boolean | Opcional. Somente restrito. É true que, se o usuário puder adicionar visualizações de páginas web às suas mensagens, implica can_send_media_messages |
Este objeto representa um adesivo.
Campo | Tipo | Descrição |
---|---|---|
file_id | String | Identificador exclusivo para este arquivo. |
width | Integer | Largura da etiqueta. |
height | Integer | Altura da etiqueta. |
thumb | PhotoSize | Opcional. Miniatura do adesivo no formato .webp ou .jpg. |
emoji | String | Opcional. Emoji associado com o adesivo. |
set_name | String | Opcional. Nome do conjunto de adesivos a que a etiqueta pertence. |
mask_position | MaskPosition | Opcional. Para adesivos de máscara, a posição onde a máscara deve ser colocada. |
file_size | Integer | Opcional. Tamanho do arquivo. |
Este objeto representa um conjunto de adesivos.
Campo | Tipo | Descrição |
---|---|---|
name | String | Nome do conjunto de adesivos. |
title | String | Título do conjunto de adesivos. |
contains_masks | Boolean | É true, se o conjunto de adesivos contém máscaras. |
stickers | Array de Sticker | Lista de todas as etiquetas definidas. |
Este objeto descreve a posição em faces onde uma máscara deve ser colocada por padrão.
Campo | Tipo | Descrição |
---|---|---|
point | String | A parte do rosto em relação à qual a máscara deve ser colocada. Um de “forehead”, “eyes”, “mouth”, or “chin”. |
x_shift | Float | Deslocar pelo eixo X medido em larguras da máscara dimensionadas para o tamanho do rosto, da esquerda para a direita. Por exemplo, escolher -1.0 colocará a máscara apenas à esquerda da posição de máscara padrão. |
y_shift | Float | Deslocar pelo eixo Y medido em alturas da máscara dimensionadas para o tamanho do rosto, de cima para baixo. Por exemplo, 1.0 colocará a máscara logo abaixo da posição de máscara padrão. |
scale | Float | Coeficiente de escala de máscara. Por exemplo, 2.0 significa tamanho duplo. |
Contém informações sobre por que um pedido não teve êxito.
Campo | Tipo | Descrição |
---|---|---|
migrate_to_chat_id | Integer | Opcional. O grupo foi migrado para um supergrupo com o identificador especificado. Este número pode ser superior a 32 bits e algumas linguagens de programação podem ter dificuldade/defeitos silenciosos na interpretação. Mas é menor do que 52 bits, então um tipo de flutuador inteiro ou de precisão dupla de 64 bits assinado é seguro para armazenar esse identificador. |
retry_after | Integer | Opcional. Em caso de excesso de controle de inundação, o número de segundos restantes para aguardar antes da solicitação pode ser repetido. |
Descreve as ações que um usuário não administrador tem permissão para realizar em um bate-papo.
Campo | Tipo | Descrição |
---|---|---|
can_send_messages | Boolean | Opcional. True, se o usuário tiver permissão para enviar mensagens de texto, contatos, locais e locais. |
can_send_media_messages | Boolean | Opcional. True, se o usuário tiver permissão para enviar áudios, documentos, fotos, vídeos, anotações em vídeo e anotações de voz, isso implica em can_send_messages. |
can_send_polls | Boolean | Opcional. True, se o usuário tiver permissão para enviar pesquisas, isso implica em can_send_messages. |
can_send_other_messages | Boolean | Opcional. True, se o usuário tiver permissão para enviar animações, jogos, adesivos e usar bots em linha, isso significa can_send_media_messages. |
can_add_web_page_previews | Boolean | Optional. Opcional. True, se o usuário tiver permissão para adicionar visualizações de páginas da Web às suas mensagens, isso significa que can_send_media_messages. |
can_change_info | Boolean | Opcional. True, se o usuário tiver permissão para alterar o título do bate-papo, a foto e outras configurações. Ignorado em supergrupos públicos. |
can_invite_users | Boolean | Opcional. True, se o usuário tiver permissão para convidar novos usuários para o bate-papo. |
can_pin_messages | Boolean | Opcional. True, se o usuário tiver permissão para fixar mensagens. Ignorado em supergrupos públicos. |
- E-mail: [email protected]
- Juliano Santos (SHAMAN)
-
Inicio
-
- Update
- User
- Chat
- Message
- MessageEntity
- PhotoSize
- Audio
- Document
- Video
- Voice
- VideoNote
- Contact
- Location
- Venue
- UserProfilePhotos
- File
- ReplyKeyboardMarkup
- KeyboardButton
- ReplyKeyboardRemove
- InlineKeyboardMarkup
- InlineKeyboardButton
- CallbackQuery
- ForceReply
- ChatPhoto
- ChatMember
- Sticker
- StickerSet
- MaskPosition
- ResponseParameters
- WebhookInfo
- ChatPermissions
-
Funções
- ShellBot.init
- ShellBot.id
- ShellBot.username
- ShellBot.first_name
- ShellBot.token
- ShellBot.ListUpdates
- ShellBot.TotalUpdates
- ShellBot.OffsetEnd
- ShellBot.OffsetNext
- ShellBot.getConfig
- ShellBot.regHandleFunction
- ShellBot.regHandleExec
- ShellBot.watchHandle
- ShellBot.InlineKeyboardButton
- ShellBot.InlineKeyboardMarkup
- ShellBot.ReplyKeyboardMarkup
- ShellBot.KeyboardButton
- ShellBot.ForceReply
- ShellBot.ReplyKeyboardRemove
- ShellBot.inputMedia
- ShellBot.downloadFile
- ShellBot.stickerMaskPosition
- ShellBot.InlineQueryResult
- ShellBot.InputMessageContent
- ShellBot.ChatPermissions
- ShellBot.KeyboardButtonPollType
- ShellBot.setMessageRules
- ShellBot.BotCommand
- ShellBot.manageRules
-
Mètodos
- ShellBot.getWebhookInfo
- ShellBot.deleteWebhook
- ShellBot.setWebhook
- ShellBot.setChatPhoto
- ShellBot.deleteChatPhoto
- ShellBot.setChatTitle
- ShellBot.setChatDescription
- ShellBot.pinChatMessage
- ShellBot.unpinChatMessage
- ShellBot.restrictChatMember
- ShellBot.promoteChatMember
- ShellBot.exportChatInviteLink
- ShellBot.sendVideoNote
- ShellBot.getMe
- ShellBot.answerCallbackQuery
- ShellBot.sendMessage
- ShellBot.forwardMessage
- ShellBot.sendPhoto
- ShellBot.sendAudio
- ShellBot.sendDocument
- ShellBot.sendSticker
- ShellBot.sendVideo
- ShellBot.sendVoice
- ShellBot.sendLocation
- ShellBot.sendVenue
- ShellBot.sendContact
- ShellBot.sendChatAction
- ShellBot.getUserProfilePhotos
- ShellBot.getFile
- ShellBot.kickChatMember
- ShellBot.leaveChat
- ShellBot.unbanChatMember
- ShellBot.getChat
- ShellBot.getChatAdministrators
- ShellBot.getChatMembersCount
- ShellBot.getChatMember
- ShellBot.editMessageText
- ShellBot.editMessageCaption
- ShellBot.editMessageReplyMarkup
- ShellBot.deleteMessage
- ShellBot.getStickerSet
- ShellBot.uploadStickerFile
- ShellBot.createNewStickerSet
- ShellBot.addStickerSet
- ShellBot.setStickerPositionInSet
- ShellBot.deleteStickerFromSet
- ShellBot.editMessageLiveLocation
- ShellBot.stopMessageLiveLocation
- ShellBot.setChatStickerSet
- ShellBot.deleteChatStickerSet
- ShellBot.sendMediaGroup
- ShellBot.editMessageMedia
- ShellBot.sendAnimation
- ShellBot.answerInlineQuery
- ShellBot.setChatPermissions
- ShellBot.setChatAdministratorCustomTitle
- ShellBot.sendPoll
- ShellBot.setMyCommands
- ShellBot.getMyCommands
- ShellBot.sendDice
- ShellBot.getUpdates