mirror of
https://github.com/octoleo/telegram-bot-bash.git
synced 2024-12-27 20:44:53 +00:00
mycommands: factor out config and messages
This commit is contained in:
parent
37e4539ef8
commit
de24dede53
@ -16,7 +16,7 @@
|
||||
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
|
||||
#
|
||||
# Usage: bashbot.sh [-h|--help|BOTCOMMANDS]
|
||||
BOTCOMMANDS="--help help init start stop status suspendback resumeback killback"
|
||||
BOTCOMMANDS="-h help init start stop status suspendback resumeback killback"
|
||||
#
|
||||
# Exit Codes:
|
||||
# 0 - success (hopefully)
|
||||
@ -30,7 +30,7 @@ BOTCOMMANDS="--help help init start stop status suspendback resumeback killbac
|
||||
# 8 - curl/wget missing
|
||||
# 10 - not bash!
|
||||
#
|
||||
#### $$VERSION$$ v1.25-dev-40-g4a9d1f0
|
||||
#### $$VERSION$$ v1.25-dev-41-g37e4539
|
||||
##################################################################
|
||||
|
||||
# emmbeded system may claim bash but it is not
|
||||
@ -169,7 +169,7 @@ RUNUSER="${USER}" # USER is overwritten by bashbot array :-(, save original
|
||||
case "$1" in
|
||||
"") [ -z "${SOURCE}" ] && printf "${ORANGE}Available commands: ${GREY}${BOTCOMMANDS}${NN}" && exit
|
||||
;;
|
||||
"--h"*) LOGO="${BASHBOT_HOME:-.}/bin/bashbot.ascii"
|
||||
"-h"*) LOGO="${BASHBOT_HOME:-.}/bin/bashbot.ascii"
|
||||
[ -r "${LOGO}" ] && cat "${LOGO}"
|
||||
sed -nE -e '/(NOT EDIT)|(shellcheck)/d' -e '3,/###/p' <"$0"
|
||||
exit;;
|
||||
|
@ -13,7 +13,7 @@
|
||||
# AUTHOR: KayM (gnadelwartz), kay@rrr.de
|
||||
# CREATED: 18.12.2020 12:27
|
||||
#
|
||||
#### $$VERSION$$ v1.25-dev-34-gda214ab
|
||||
#### $$VERSION$$ v1.25-dev-41-g37e4539
|
||||
#===============================================================================
|
||||
|
||||
############
|
||||
|
@ -15,7 +15,7 @@
|
||||
# This file is public domain in the USA and all free countries.
|
||||
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
|
||||
#
|
||||
#### $$VERSION$$ v1.25-dev-14-g2fe6d4b
|
||||
#### $$VERSION$$ v1.25-dev-41-g37e4539
|
||||
#
|
||||
|
||||
# bashbot locale defaults to c.UTF-8, adjust locale in mycommands.sh if needed
|
||||
|
97
mycommands.conf
Normal file
97
mycommands.conf
Normal file
@ -0,0 +1,97 @@
|
||||
#!/bin/bash
|
||||
#######################################################
|
||||
#
|
||||
# File: mycommands.conf
|
||||
#
|
||||
# Description: place your config and messages here
|
||||
#
|
||||
# Usage: will be sourced from mycommands.sh
|
||||
#
|
||||
# License: WTFPLv2 http://www.wtfpl.net/txt/copying/
|
||||
# Author: KayM (gnadelwartz), kay@rrr.de
|
||||
# Created: 09.01.2021 07:27
|
||||
#
|
||||
#### $$VERSION$$ v1.25-dev-41-g37e4539
|
||||
#######################################################
|
||||
|
||||
##########
|
||||
# adjust your language setting here, default is C.UTF-8
|
||||
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment
|
||||
export 'LC_ALL=C.UTF-8'
|
||||
export 'LANG=C.UTF-8'
|
||||
export 'LANGUAGE=C.UTF-8'
|
||||
|
||||
##########
|
||||
# in UTF-8 äöü etc. are part of [:alnum:] and ranges (e.g. a-z)
|
||||
# for more information see doc/4_expert.md#Character_classes
|
||||
# uncomment next line if you want classic ASCII ranges for [a-z] etc.
|
||||
#export LC_COLLATE=C
|
||||
|
||||
|
||||
##########
|
||||
# edit the following lines to fit your bot usage
|
||||
# use ${ME} for current bot name in messages
|
||||
# Note: you must escape '_' in botname with two \ in markdown messages!
|
||||
export bashbot_info='This is @'"${ME//_/\\\\_}"', the Telegram example bot written entirely in bash.
|
||||
Edit commands and messages in mycommands.sh!
|
||||
'
|
||||
# export bashbot_help='*Available commands*:
|
||||
#'
|
||||
export res=""
|
||||
|
||||
# Set INLINE to 1 in order to receive inline queries.
|
||||
# To enable this option in your bot, send the /setinline command to @BotFather.
|
||||
export INLINE="0"
|
||||
|
||||
# if your bot is group admin it get commands sent to other bots
|
||||
# Set MEONLY to 1 to ignore commands sent to other bots
|
||||
export MEONLY="0"
|
||||
|
||||
# Set to .* to allow sending files from all locations
|
||||
# NOTE: this is a regex, not shell globbing! you must use a valid egex,
|
||||
# '.' matches any character and '.*' matches all remaining charatcers!
|
||||
# additionally you must escape special characters with '\', e.g. '\. \? \[ \*" to match them literally
|
||||
export FILE_REGEX="${BASHBOT_ETC}/.*"
|
||||
|
||||
# set BASHBOT_RETRY to enable retry in case of recoverable errors, e.g. throtteling
|
||||
# problems with send_xxx message etc are looged to logs/ERROR.log
|
||||
unset BASHBOT_RETRY
|
||||
#export BASHBOT_RETRY="yes"
|
||||
|
||||
# set value for adaptive sleeping while waiting for uodates in millisconds
|
||||
# max slepp between polling updates 10s (default 5s)
|
||||
export BASHBOT_SLEEP="10000"
|
||||
# add 0.2s if no update available, up to BASHBOT_SLEEP (default 0.1s)
|
||||
export BASHBOT_SLEEP_STEP="200"
|
||||
|
||||
# if you want to use timer functions, set BASHBOT_START_TIMER to a not empty value
|
||||
# default is to not start timer
|
||||
unset BASHBOT_START_TIMER
|
||||
#export BASHBOT_START_TIMER="yes"
|
||||
|
||||
# set to "yes" and give your bot admin privilegs to remove service messages from groups
|
||||
export SILENCER="no"
|
||||
|
||||
# uncomment to remove keyboards sent from your bot
|
||||
# export REMOVEKEYBOARD="yes"
|
||||
# export REMOVEKEYBOARD_PRIVATE="yes"
|
||||
|
||||
# uncomment to say welcome to new chat members
|
||||
# export WELCOME_NEWMEMBER="yes"
|
||||
WELCOME_MSG="Welcome"
|
||||
|
||||
# uncomment to be informed about new/left chat members
|
||||
# export REPORT_NEWMEMBER="yes"
|
||||
# export REPORT_LEFTMEMBER="yes"
|
||||
|
||||
# messages for admin only commands
|
||||
NOTADMIN="Sorry, this command is allowed for admin or owner only"
|
||||
NOTBOTADMIN="Sorry, this command is allowed for bot owner only"
|
||||
|
||||
########
|
||||
# special network setup may require additional ARGS to curl
|
||||
#
|
||||
# example: run bashbot over TOR or SOCKS proxy
|
||||
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1:9050" # TOR
|
||||
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1" # regular SOCKS
|
||||
|
@ -1,98 +1,30 @@
|
||||
#!/bin/bash
|
||||
#########
|
||||
#######################################################
|
||||
#
|
||||
# files: mycommands.sh.dist
|
||||
# File: mycommands.sh.dist
|
||||
#
|
||||
# this is an out of the box test and example file to show what's possible in mycommands.sh
|
||||
#
|
||||
# #### if you start to develop your own bot, use the clean version of this file:
|
||||
# #### mycommands.clean
|
||||
#
|
||||
# Usage: will be executed when a bot command is received
|
||||
#
|
||||
# License: WTFPLv2 http://www.wtfpl.net/txt/copying/
|
||||
# Author: KayM (gnadelwartz), kay@rrr.de
|
||||
#
|
||||
#### $$VERSION$$ v1.25-dev-41-g37e4539
|
||||
#######################################################
|
||||
# shellcheck disable=SC1117
|
||||
#### $$VERSION$$ v1.25-dev-14-g2fe6d4b
|
||||
#
|
||||
|
||||
##########
|
||||
# adjust your language setting here, default is C.UTF-8
|
||||
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment
|
||||
export 'LC_ALL=C.UTF-8'
|
||||
export 'LANG=C.UTF-8'
|
||||
export 'LANGUAGE=C.UTF-8'
|
||||
|
||||
##########
|
||||
# in UTF-8 äöü etc. are part of [:alnum:] and ranges (e.g. a-z)
|
||||
# for more information see doc/4_expert.md#Character_classes
|
||||
# uncomment next line if you want classic ASCII ranges for [a-z] etc.
|
||||
#export LC_COLLATE=C
|
||||
####################
|
||||
# Config has moved to bashbot.conf
|
||||
# shellcheck source=./commands.sh
|
||||
[ -r "${BASHBOT_ETC:-.}/mycommands.conf" ] && source "${BASHBOT_ETC:-.}/mycommands.conf" "$1"
|
||||
|
||||
|
||||
##########
|
||||
# edit the following lines to fit your bot usage
|
||||
# use ${ME} for current bot name in messages
|
||||
# Note: you must escape '_' in botname with two \ in markdown messages!
|
||||
export bashbot_info='This is @'"${ME//_/\\\\_}"', the Telegram example bot written entirely in bash.
|
||||
Edit commands and messages in mycommands.sh!
|
||||
'
|
||||
# export bashbot_help='*Available commands*:
|
||||
#'
|
||||
export res=""
|
||||
|
||||
# Set INLINE to 1 in order to receive inline queries.
|
||||
# To enable this option in your bot, send the /setinline command to @BotFather.
|
||||
export INLINE="0"
|
||||
|
||||
# if your bot is group admin it get commands sent to other bots
|
||||
# Set MEONLY to 1 to ignore commands sent to other bots
|
||||
export MEONLY="0"
|
||||
|
||||
# Set to .* to allow sending files from all locations
|
||||
# NOTE: this is a regex, not shell globbing! you must use a valid egex,
|
||||
# '.' matches any character and '.*' matches all remaining charatcers!
|
||||
# additionally you must escape special characters with '\', e.g. '\. \? \[ \*" to match them literally
|
||||
export FILE_REGEX="${BASHBOT_ETC}/.*"
|
||||
|
||||
# set BASHBOT_RETRY to enable retry in case of recoverable errors, e.g. throtteling
|
||||
# problems with send_xxx message etc are looged to logs/ERROR.log
|
||||
unset BASHBOT_RETRY
|
||||
#export BASHBOT_RETRY="yes"
|
||||
|
||||
# set value for adaptive sleeping while waiting for uodates in millisconds
|
||||
# max slepp between polling updates 10s (default 5s)
|
||||
export BASHBOT_SLEEP="10000"
|
||||
# add 0.2s if no update available, up to BASHBOT_SLEEP (default 0.1s)
|
||||
export BASHBOT_SLEEP_STEP="200"
|
||||
|
||||
# if you want to use timer functions, set BASHBOT_START_TIMER to a not empty value
|
||||
# default is to not start timer
|
||||
unset BASHBOT_START_TIMER
|
||||
#export BASHBOT_START_TIMER="yes"
|
||||
|
||||
# set to "yes" and give your bot admin privilegs to remove service messages from groups
|
||||
export SILENCER="no"
|
||||
|
||||
# uncomment to remove keyboards sent from your bot
|
||||
# export REMOVEKEYBOARD="yes"
|
||||
# export REMOVEKEYBOARD_PRIVATE="yes"
|
||||
|
||||
# uncomment to say welcome to new chat members
|
||||
# export WELCOME_NEWMEMBER="yes"
|
||||
WELCOME_MSG="Welcome"
|
||||
|
||||
# uncomment to be informed about new/left chat members
|
||||
# export REPORT_NEWMEMBER="yes"
|
||||
# export REPORT_LEFTMEMBER="yes"
|
||||
|
||||
# messages for admin only commands
|
||||
NOTADMIN="Sorry, this command is allowed for admin or owner only"
|
||||
NOTBOTADMIN="Sorry, this command is allowed for bot owner only"
|
||||
|
||||
########
|
||||
# special network setup may require additional ARGS to curl
|
||||
#
|
||||
# example: run bashbot over TOR or SOCKS proxy
|
||||
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1:9050" # TOR
|
||||
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1" # regular SOCKS
|
||||
|
||||
##################
|
||||
# let's go ...
|
||||
if [ "$1" = "startbot" ];then
|
||||
###################
|
||||
# this section is processed on startup
|
||||
|
@ -1,80 +1,31 @@
|
||||
#!/bin/bash
|
||||
########
|
||||
#######################################################
|
||||
#
|
||||
# File: mycommands.sh.clean
|
||||
#
|
||||
# files: mycommands.sh.clean
|
||||
# copy to mycommands.sh and add all your commands and functions here ...
|
||||
#
|
||||
#### $$VERSION$$ v1.25-dev-9-g14fa2c7
|
||||
# Usage: will be executed when a bot command is received
|
||||
#
|
||||
|
||||
##########
|
||||
# adjust your language setting here, default is C.UTF-8
|
||||
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment
|
||||
export 'LC_ALL=C.UTF-8'
|
||||
export 'LANG=C.UTF-8'
|
||||
export 'LANGUAGE=C.UTF-8'
|
||||
|
||||
##########
|
||||
# in UTF-8 äöü etc. are part of [:alnum:] and ranges (e.g. a-z)
|
||||
# for more information see doc/4_expert.md#Character_classes
|
||||
# uncomment next line if you want classic ASCII ranges for [a-z] etc.
|
||||
#export LC_COLLATE=C
|
||||
|
||||
|
||||
##########
|
||||
# edit the following lines to fit your bot usage
|
||||
|
||||
export bashbot_info='This is bashbot, the Telegram bot written entirely in bash.
|
||||
'
|
||||
|
||||
export bashbot_help='*Available commands*:
|
||||
'
|
||||
export res=""
|
||||
|
||||
# Set INLINE to 1 in order to receive inline queries.
|
||||
# To enable this option in your bot must also send the /setinline command to @BotFather.
|
||||
export INLINE="0"
|
||||
|
||||
# if your bot is group admin it get commands sent to other bots
|
||||
# Set MEONLY to 1 to ignore commands sent to other bots
|
||||
export MEONLY="0"
|
||||
|
||||
# NOTE: this is a regex, not shell globbing! you must use a valid egex,
|
||||
# '.' matches any character and '.*' matches all remaining charatcers!
|
||||
# additionally you must escape special characters with '\', e.g. '\. \? \[ \*" to match them literally
|
||||
# do NOT set to .* as this allow sending files from all locations!
|
||||
export FILE_REGEX="${BASHBOT_ETC}/.*"
|
||||
|
||||
# set BASHBOT_RETRY to enable retry in case of recoverable errors, e.g. throtteling
|
||||
# problems with send_,´message etc are looged to logs/ERROR.log
|
||||
unset BASHBOT_RETRY
|
||||
#export BASHBOT_RETRY="yes"
|
||||
|
||||
# set value for adaptive sleeping while waitingnfor uodates in millisconds
|
||||
# max slepp between polling updates 10s (default 5s)
|
||||
export BASHBOT_SLEEP="10000"
|
||||
# add 0.2s if no update available, up to BASHBOT_SLEEP (default 0.1s)
|
||||
export BASHBOT_SLEEP_STEP="200"
|
||||
|
||||
# if you want to use timer functions, set BASHBOT_START_TIMER to a not empty value
|
||||
# default is to nit start timer
|
||||
unset BASHBOT_START_TIMER
|
||||
#export BASHBOT_START_TIMER="yes"
|
||||
# set to "yes" and give your bot admin privilegs to remove service messaes from groups
|
||||
export SILENCER="no"
|
||||
|
||||
# uncomment to remove keyboards sent by your bot
|
||||
# export REMOVEKEYBOARD="yes"
|
||||
# export REMOVEKEYBOARD_PRIVATE="yes"
|
||||
|
||||
########
|
||||
# special network setup may require additional ARGS to curl
|
||||
# License: WTFPLv2 http://www.wtfpl.net/txt/copying/
|
||||
# Author: KayM (gnadelwartz), kay@rrr.de
|
||||
#
|
||||
# example: run bashbot over TOR or SOCKS proxy
|
||||
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1:9050" # TOR
|
||||
# export BASHBOT_CURL_ARGS="--socks5-hostname 127.0.0.1" # regular SOCKS
|
||||
#### $$VERSION$$ v1.25-dev-41-g37e4539
|
||||
#######################################################
|
||||
# shellcheck disable=SC1117
|
||||
|
||||
####################
|
||||
# Config has moved to bashbot.conf
|
||||
# shellcheck source=./commands.sh
|
||||
[ -r "${BASHBOT_ETC:-.}/mycommands.conf" ] && source "${BASHBOT_ETC:-.}/mycommands.conf" "$1"
|
||||
|
||||
|
||||
##################
|
||||
# lets's go
|
||||
if [ "$1" = "startbot" ];then
|
||||
###################
|
||||
# this section is processed on startup
|
||||
|
||||
# run once after startup when the first message is received
|
||||
my_startup(){
|
||||
:
|
||||
|
Loading…
Reference in New Issue
Block a user