forked from shellscriptx/shellbot
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReplyKeyboardMarkup.sh
More file actions
executable file
·69 lines (60 loc) · 1.77 KB
/
Copy pathReplyKeyboardMarkup.sh
File metadata and controls
executable file
·69 lines (60 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
#
# script: ReplyKeyboardMarkup.sh
#
# Para melhor compreensão foram utilizados parâmetros longos nas funções; Podendo
# ser substituidos pelos parâmetros curtos respectivos.
# Importando API
source ShellBot.sh
# Token do bot
bot_token='<TOKEN_AQUI>'
# Inicializando o bot
ShellBot.init --token "$bot_token"
ShellBot.username
# Limpa o array que irá receber a estrutura.
unset botao
# array
# Nota: Cada elemento do array precisa estar entre aspas duplas enquanto
# a atribuição da estrutura entre aspas simples. Caso o uso das aspas duplas
# na atribuição seja necessário para expansão de variáveis, é preciso escapar
# as aspas internas com '\' (contra barra).
#
# Exemplo:
#
# botao="[
# [\"$num1\",\"$num2\",\"$num3\"],
# [\"$num4\",\"$num5\",\"$num6\"],
# [\"$num7\",\"$num8\",\"$num9\"],
# [\"$num0\"]
# ]"
# teclado - array
botao='[
["1","2","3"],
["4","5","6"],
["7","8","9"],
["0"]
]'
# Cria o teclado, define a configuração de auto ocultação após o uso e salva em 'keyboard1'
keyboard1="$(ShellBot.ReplyKeyboardMarkup --button 'botao' --one_time_keyboard true)"
while :
do
# Obtem as atualizações
ShellBot.getUpdates --limit 100 --offset $(ShellBot.OffsetNext) --timeout 30
# Lista o índice das atualizações
for id in $(ShellBot.ListUpdates)
do
# Inicio thread
(
# Verifica se a mensagem enviada pelo usuário é um comando válido.
case ${message_text[$id]} in
"/key") # bot comando
# Envia a mensagem anexando o teclado "$keyboard1"
ShellBot.sendMessage --chat_id ${message_chat_id[$id]} --text '*Teclado numérico*' \
--reply_markup "$keyboard1" \
--parse_mode markdown
;;
esac
) & # Utilize a thread se deseja que o bot responda a várias requisições simultâneas.
done
done
#FIM