mirror of
https://github.com/octoleo/telegram-bot-bash.git
synced 2024-11-21 23:25:08 +00:00
Starting to work on interactive commands
This commit is contained in:
parent
c6c524b2c8
commit
c60aabb9ee
13
bashbot.sh
13
bashbot.sh
@ -1,3 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
# bashbot, the Telegram bot written in bash.
|
# bashbot, the Telegram bot written in bash.
|
||||||
# Written by @topkecleon, Juan Potato (@awkward_potato) and Lorenzo Santina (BigNerd95)
|
# Written by @topkecleon, Juan Potato (@awkward_potato) and Lorenzo Santina (BigNerd95)
|
||||||
# http://github.com/topkecleon/bashbot
|
# http://github.com/topkecleon/bashbot
|
||||||
@ -8,7 +9,6 @@
|
|||||||
# This file is public domain in the USA and all free countries.
|
# This file is public domain in the USA and all free countries.
|
||||||
# If you're in Europe, and public domain does not exist, then haha.
|
# If you're in Europe, and public domain does not exist, then haha.
|
||||||
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
TOKEN=''
|
TOKEN=''
|
||||||
URL='https://api.telegram.org/bot'$TOKEN
|
URL='https://api.telegram.org/bot'$TOKEN
|
||||||
@ -25,15 +25,21 @@ send_photo() {
|
|||||||
res=$(curl "$PHO_URL" -F "chat_id=$1" -F "photo=@$2")
|
res=$(curl "$PHO_URL" -F "chat_id=$1" -F "photo=@$2")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
readproc() {
|
||||||
|
cur=test
|
||||||
|
coproc="coproc$1"
|
||||||
|
while [ "$cur" != "" ];do read cur <&${coproc["0"]};echo "$cur";done
|
||||||
|
}
|
||||||
process_client() {
|
process_client() {
|
||||||
local MESSAGE=$1
|
local MESSAGE=$1
|
||||||
local TARGET=$2
|
local TARGET=$2
|
||||||
local msg=""
|
local msg=""
|
||||||
case $MESSAGE in
|
case $MESSAGE in
|
||||||
'/info') msg="This is bashbot, the Telegram bot written entirely in bash.";;
|
'/info') msg="This is bashbot, the Telegram bot written entirely in bash.";;
|
||||||
|
'/question') coproc "coproc$TARGET" { question; }; msg="$(readproc $TARGET)"
|
||||||
*) msg="$MESSAGE";;
|
*) msg="$MESSAGE";;
|
||||||
esac
|
esac
|
||||||
send_message "$TARGET" "$msg"
|
send_message "$TARGET" "$msg"&
|
||||||
}
|
}
|
||||||
|
|
||||||
while true; do {
|
while true; do {
|
||||||
@ -47,7 +53,8 @@ while true; do {
|
|||||||
OFFSET=$((OFFSET+1))
|
OFFSET=$((OFFSET+1))
|
||||||
|
|
||||||
if [ $OFFSET != 1 ]; then
|
if [ $OFFSET != 1 ]; then
|
||||||
process_client "$MESSAGE" "$TARGET" &
|
process_client "$MESSAGE" "$TARGET"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
} &>/dev/null; done
|
} &>/dev/null; done
|
||||||
|
Loading…
Reference in New Issue
Block a user