Bashbot Version 0.90-rc1

This commit is contained in:
Kay Marquardt (Gnadelwartz) 2019-05-30 20:59:17 +02:00
parent 93b49141e8
commit 46271cc1a2
55 changed files with 76 additions and 61 deletions

View File

@ -186,6 +186,6 @@ It features background tasks and interactive chats, and can serve as an interfac
<p><span class="citation">@Gnadelwartz</span></p>
<h2 id="thats-it">Thats it!</h2>
<p>If you feel that theres something missing or if you found a bug, feel free to submit a pull request!</p>
<h4 id="version-v0.90-rc1-0-ge80b98a"><br /><span class="math display"><em>V</em><em>E</em><em>R</em><em>S</em><em>I</em><em>O</em><em>N</em></span><br /> v0.90-rc1-0-ge80b98a</h4>
<h4 id="version-v0.90-rc1-0-g93b4914"><br /><span class="math display"><em>V</em><em>E</em><em>R</em><em>S</em><em>I</em><em>O</em><em>N</em></span><br /> v0.90-rc1-0-g93b4914</h4>
</body>
</html>

View File

@ -179,4 +179,4 @@ This may happen if to many wrong requests are sent to api.telegram.org, e.g. usi
If you feel that there's something missing or if you found a bug, feel free to submit a pull request!
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -252,4 +252,4 @@ tor proxy on your server you may uncomment the ```BASHBOT_CURL_ARGS``` line in
If you feel that there's something missing or if you found a bug, feel free to
submit a pull request!
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -4,6 +4,7 @@
# this addon counts how many files, e.g. stickers, are sent to
# a chat and takes actions if threshold is reached
#
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# used events:
#
@ -86,21 +87,23 @@ if [[ "$1" = "start"* ]]; then
antiFlood_multievent(){
# not started
[ "${ANTIFL_CHATS["${CHAT[ID]}","level"]}" = "" ] && return
# check user flood text
# count user flood text
if [ "$1" = "text" ]; then
if [ "${#MESSAGE[0]}" -gt "${ANTIFL_CHATS["${CHAT[ID]}","level"]}" ]; then
(( ANTIFL_ACTUALS["${CHAT[ID]}","${USER[ID]}"]-- ))
# shellcheck disable=SC2154
(( ANTIFL_ACTUALS["${CHAT[ID]}","${USER[ID]}","file"]-- ))
fi
else
else
# shellcheck disable=SC2154
(( ANTIFL_ACTUALS["${CHAT[ID]}","${USER[ID]}"]++ ))
fi
fi
# check user flood picture
# shellcheck disable=SC2154
# count user chat flood
if [ "$1" = "file" ]; then
# shellcheck disable=SC2154
(( ANTIFL_ACTUALS["${CHAT[ID]}","${USER[ID]}","file"]++ ))
# shellcheck disable=SC2154
(( ANTIFL_ACTUALS["${CHAT[ID]}","file"]++ ))
antiFlood_action & # do actions in subshell
fi
}
@ -117,5 +120,15 @@ if [[ "$1" = "start"* ]]; then
send_markdown_message "${ANTIFL_ADMIN}" "User ${USER[USERNAME]} reached flood level in chat ${CHAT[USERNAME]}!"
fi
fi
# check flood level of chat
if [ "$(( ANTIFL_ACTUALS["${CHAT[ID]}","file"] +1))" -gt "$(( ANTIFL_CHATS["${CHAT[ID]}","level"] * ANTIFL_BAN ))" ]; then
if [ "${ANTIFL_CHATS["${CHAT[ID]}","active"]}" = "yes" ]; then
# remove message
delete_message "${CHAT[ID]}" "${MESSAGE[ID]}"
else
# inform admin
send_markdown_message "${ANTIFL_ADMIN}" "Chat ${CHAT[USERNAME]} reached max flood level!"
fi
fi
}
fi

View File

@ -4,6 +4,8 @@
# Addons can register to bashbot events at statup
# by providing their name and a callback per event
#
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# If an event occours each registered event function is called.
#
# Events run in the same context as the main bashbot event loop

View File

@ -1,7 +1,7 @@
#!/bin/sh
# description: Start or stop telegram-bash-bot
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# shellcheck disable=SC2009
# shellcheck disable=SC2181

View File

@ -11,7 +11,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# Exit Codes:
# - 0 sucess (hopefully)

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# adjust your language setting here, e.g.when run from other user or cron.

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# this has to run once atfer git clone
# and every time we create new hooks
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script

View File

@ -3,7 +3,7 @@
#
# works together with git pre-push.sh and ADD all changed files since last push
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
############
# NOTE: you MUST run install-hooks.sh again when updating this file!

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
############
# NOTE: you MUST run install-hooks.sh again when updating this file!

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# this has to run once atfer git clone
# and every time we create new hooks
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script

View File

@ -2,7 +2,7 @@
# file: make-distribution.sh
# creates files and arcchives to dirtribute bashbot
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script

View File

@ -5,7 +5,7 @@
# If you your bot is finished you can use make-standalone.sh to create the
# the old all-in-one bashbot: bashbot.sh and commands.sh only!
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script

View File

@ -1,3 +1,3 @@
# list of additional files to check from shellcheck
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
bashbot.rc

View File

@ -1,6 +1,6 @@
#!/bin/bash
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# shellcheck disable=SC2016
#
# Easy Versioning in git:

View File

@ -87,5 +87,5 @@ The old format is supported for backward compatibility, but may fail for corner
#### [Next Create Bot](1_firstbot.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -65,5 +65,5 @@ group. This step is up to you actually.
#### [Prev Installation](0_install.md)
#### [Next Getting started](2_usage.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -223,5 +223,5 @@ send_action "${CHAT[ID]}" "action"
#### [Prev Create Bot](1_firstbot.md)
#### [Next Advanced Usage](3_advanced.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -180,5 +180,5 @@ See also [answer_inline_multi, answer_inline_compose](6_reference.md#answer_inli
#### [Prev Getting started](2_usage.md)
#### [Next Expert Use](4_expert.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -348,5 +348,5 @@ for every poll until the maximum of BASHBOT_SLEEP ms.
#### [Prev Advanced Use](3_advanced.md)
#### [Next Best Practice](5_practice.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -152,5 +152,5 @@ The second warning is about an unused variable, this is true because in our exam
#### [Prev Best Practice](5_practice.md)
#### [Next Functions Reference](6_reference.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -774,13 +774,13 @@ Every Inline Message sent to your Bot is processd by this function. It parse the
Start the the every minute timer ...
##### event_timer
Dispachter for BASHBOT_EVENT_TIMER
Dispatcher for BASHBOT_EVENT_TIMER
##### event_timer
Dispachter for BASHBOT_EVENT_INLINE
Dispatcher for BASHBOT_EVENT_INLINE
##### event_timer
Dispachter for BASHBOT_EVENT_MESSAGE and related
Dispatcher for BASHBOT_EVENT_MESSAGE and related
----
@ -792,5 +792,5 @@ The name of your bot is availible as bash variable "$ME", there is no need to ca
#### [Prev Best Practice](5_practice.md)
#### [Next Notes for Developers](7_develop.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -275,5 +275,5 @@ fi
#### [Prev Function Reference](6_reference.md)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -55,6 +55,6 @@ convert existing bots.
**external-use** will contain some examples on how to send messages from external scripts to Telegram chats or users.
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914

View File

@ -4,7 +4,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -2,7 +2,7 @@
# file: run_filename
# background job to display content of all new files in WATCHDIR
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -2,7 +2,7 @@
# file: run_filename
# background job to display all new files in WATCHDIR
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -4,7 +4,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -2,7 +2,7 @@
# file. multibot.sh
# description: run multiple telegram bots from one installation
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
if [ "${2}" = "" ] || [ "${2}" = "-h" ]; then
echo "Usage: $0 botname command"

View File

@ -7,7 +7,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
SHELL=/bin/sh

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -4,7 +4,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -1,7 +1,7 @@
# file: botacl
# a user not listed here, will return false from 'user_is_allowed'
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# Format:
# user:ressource:chat

View File

@ -5,7 +5,7 @@
# to show how you can customize bashbot by only editing mycommands.sh
# NOTE: this is not tested, simply copied from original source and reworked!
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# shellcheck disable=SC2154
# shellcheck disable=SC2034

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# source from commands.sh to use the aliases

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# source from commands.sh to use the inline functions

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# source from commands.sh if you want ro use interactive or background jobs

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# source from commands.sh to use the member functions

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# source from commands.sh to use jsonDB functions
#

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# source from commands.sh to use the sendMessage functions

View File

@ -2,7 +2,7 @@
# files: mycommands.sh.dist
# copy to mycommands.sh and add all your commands and functions here ...
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
#
# uncomment the following lines to overwrite info and help messages

View File

@ -2,7 +2,7 @@
#
# ADD a new test skeleton to test dir, but does not activate test
#
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# common variables
export TESTME DIRME TESTDIR LOGFILE REFDIR TESTNAME

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
../dev/hooks/pre-commit.sh

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# file: b-example-test.sh
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#### $$VERSION$$ v0.90-rc1-0-ge80b98a
#### $$VERSION$$ v0.90-rc1-0-g93b4914
# include common functions and definitions
# shellcheck source=test/ALL-tests.inc.sh