Skip to content

Latest commit

 

History

History
659 lines (535 loc) · 20.7 KB

TelegramCommands.md

File metadata and controls

659 lines (535 loc) · 20.7 KB

Table of Contents:

Module: auth

authorize: Authorize Telegram backend for current channel
Run this command and give passphrase from config.yaml as an argument
Example: !authorize <passphrase>
Default permission level: 0

resetpass: Reset passphrase for Telegram backend authorization, set it to config.yaml and dump to walbot log
Example: !resetpass
Default permission level: 0

Module: builtin

about: Get information about the bot
Examples:
!about
!about -v <- verbose
!about -vv <- even more verbose
Default permission level: 0

curl: Perform HTTP request
Usage:
!curl <url>
!curl <url> --no-proxy
This command can be used as subcommand
Default permission level: 0

echo: @args@
This command can be used as subcommand
Default permission level: 0

extexec: Execute external shell command
Note: Be careful when you are executing external commands!
Example: !extexec uname -a
This command can be used as subcommand
Default permission level: 2

getmentioncmd: Get current command which is executed on bot ping
Example: !getmentioncmd
This command can be used as subcommand
Default permission level: 1

help: Print list of commands and get examples
Usage:
!help
!help -p (alternative: !help --plain)
!help -a (alternative: !help --all)
!help <command_name>
Default permission level: 0

message: Get message by its order number counting from the newest message
Example: !message
This command can be used as subcommand
Default permission level: 0

ping: 🏓 Pong! @author@ 🏓
This command can be used as subcommand
Default permission level: 0

profile: Print information about user
Examples:
!profile
!profile @user
Default permission level: 0

restart: Restart the bot
Example: !restart
Default permission level: 2

setmentioncmd: Set current command which is executed on bot ping
Examples:
!setmentioncmd ping
!setmentioncmd markov
Default permission level: 1

shutdown: Shutdown the bot
Example: !shutdown
Default permission level: 2

uptime: Show bot uptime
Example: !uptime
This command can be used as subcommand
Default permission level: 0

version: Get version of the bot
Examples:
!version
!version short
Default permission level: 0

wme: Send direct message to author with something
Example: !wme Hello!
Default permission level: 0

Module: custom-commands

addextcmd: Add command that executes external process
Note: Be careful when you are executing external commands!
Example: !addextcmd uname uname -a
Default permission level: 2

delcmd: Delete command
Example: !delcmd hello
Default permission level: 1

updextcmd: Update command that executes external process (works only for commands that already exist)
Note: Be careful when you are executing external commands!
Example: !updextcmd uname uname -a
Default permission level: 2

Module: debug

dbg: Debug command
Example: !dbg <diagnostic-name>
This command can be used as subcommand
Default permission level: 2

eval: Evaluate Python code in bot context.
Note: Dangerous, use it only if you know what you are doing
Example: !eval <code>
Default permission level: 2

Module: image

addimg: Add image for !img command
Example: !addimg name url
Default permission level: 1

delimg: Delete image for !img command
Example: !delimg name
Default permission level: 1

img: Send image (use !listimg for list of available images)
Example: !img <image_name>
Default permission level: 0

listimg: Print list of available images for !img command
Example: !listimg
Default permission level: 0

updimg: Update image for !img command
Example: !updimg name url
Default permission level: 1

Module: interactive

poll: Create poll and collect result after selected time
Example: !poll 60 option 1;option 2;option 3
Default permission level: 0

Module: markov

addmarkovfilter: Add regular expression filter for Markov model
Example: !addmarkovfilter regex
Default permission level: 1

addmarkovignoredprefix: Add message prefix that should be ignored by Markov model
Example: !addmarkovignoredprefix $
Default permission level: 1

delmarkov: Delete all words in Markov model by regex
Example: !delmarkov hello
Default permission level: 1

delmarkovfilter: Delete regular expression filter for Markov model by index
Example: !delmarkovfilter 0
Default permission level: 1

delmarkovignoredprefix: Delete message prefix that should be ignored by Markov model by its index
Example: !delmarkovignoredprefix 0
Default permission level: 1

dropmarkov: Drop Markov database
Example: !dropmarkov
Default permission level: 2

findmarkov: Match words in Markov model using regex. If you have permission level >= 1,
you can add -f flag to show full list of found words
Examples:
!findmarkov hello
!findmarkov hello -f
Default permission level: 0

getmarkovword: Get particular word from Markov model by regex
Examples:
!getmarkovword hello -a <- get amount of found words
!getmarkovword hello 0 <- get word by index
This command can be used as subcommand
Default permission level: 0

inspectmarkov: Inspect next words in Markov model for current one
Example: !inspectmarkov hello
Default permission level: 0

listmarkovfilter: Print list of regular expression filters for Markov model
Example: !listmarkovfilter
This command can be used as subcommand
Default permission level: 0

listmarkovignoredprefix: List all prefixes that should be ignored by Markov model
Example: !listmarkovignoredprefix
This command can be used as subcommand
Default permission level: 0

markov: Generate message using Markov chain
Example: !markov
This command can be used as subcommand
Default permission level: 0

markovgc: Garbage collect Markov model nodes
Example: !markovgc
Default permission level: 0

statmarkov: Show stats for Markov module
Example: !statmarkov
Default permission level: 0

Module: math

calc: Calculate mathematical expression
Examples:
!calc 2+2*2
!calc 4/2-1
This command can be used as subcommand
Default permission level: 0

if: If expression is true (!= 0) then return first expression otherwise return the second one
Examples:
!if 1 It's true;It's false -> It's true
!if 0 It's true;It's false -> It's false
This command can be used as subcommand
Default permission level: 0

loop: Repeat an action n times
Examples:
!loop 2 ping
!loop 5 echo Hello!
This command can be used as subcommand
Default permission level: 0

Module: plugin

autostartplugin: Check if plugin automatically starts when bot loads up and set autostart flag for plugin
Usage:
!autostartplugin <plugin_name> <- check if autostart is enabled
!autostartplugin <plugin_name> enable <- enable autostart for plugin
!autostartplugin <plugin_name> disable <- disable autostart for plugin
Default permission level: 1

listplugin: Print list of plugins
Usage:
!listplugin
Default permission level: 0

loadplugin: Load plugin by its name
Usage:
!loadplugin <plugin_name>
Default permission level: 1

reloadplugin: Reload plugin by its name
Usage:
!reloadplugin <plugin_name>
Default permission level: 1

reloadpluginmanager: Reload plugin manager
Usage: !reloadpluginmanager
Default permission level: 1

unloadplugin: Unload plugin by its name
Usage:
!unloadplugin <plugin_name>
Default permission level: 1

updateplugin: Update plugin by its name (if updater is implemented for this plugin).
Note: This command only updates implementation files!
To enable updated plugin you need to execute the following commands:
!reloadpluginmanager
!reloadplugin <plugin_name>
Usage:
!updateplugin <plugin_name>
Default permission level: 1

Module: quote

addquote: Add quote to quotes database
Example: !addquote Hello, world!
Default permission level: 0

delquote: Delete quote from quotes database by index
Example: !delquote 0
Default permission level: 0

listquote: Print list of all quotes
Example: !listquote
Default permission level: 0

quote: Print some quote from quotes database
Examples:
!quote
!quote 1
Default permission level: 0

setquoteauthor: Set author of quote by its index
Example: !setquoteauthor 0 WalBot
Default permission level: 0

Module: random

random: Get random number in range [left, right]
Example: !random 5 10
This command can be used as subcommand
Default permission level: 0

randselect: Get random option among provided strings (split by space)
Example: !randselect a b c
This command can be used as subcommand
Default permission level: 0

randselects: Get random option among provided strings (split by semicolon)
Example: !randselects a;b;c
This command can be used as subcommand
Default permission level: 0

Module: reaction

addresponse: Add bot response on message that contains particular regex
Example: !addresponse regex;text
Default permission level: 1

delresponse: Delete response
Examples:
!delresponse index
Default permission level: 1

listresponse: Print list of responses
Example: !listresponse
Default permission level: 0

updresponse: Update bot response
Example: !updresponse index regex;text
Default permission level: 1

Module: reminder

addreminder: Print message at particular time
Examples:
!addreminder 2020-01-01 00:00 Happy new year!
!addreminder today 08:00 Wake up
!addreminder tomorrow 08:00 Wake up
!addreminder monday 09:00 Time to work
!addreminder sat 11:00 Time to chill
!addreminder 2d 08:00 Wake up <- 2 days
!addreminder 1w 08:00 Wake up <- 1 week
!addreminder 1m Monthly event
!addreminder 1y Annual event
!addreminder in 1w5d10h5m Test reminder
!addreminder in 1w Test reminder 2
!addreminder in 5h10m Test reminder 3
Default permission level: 0

addremindernotes: Add reminder notes for specific reminder
Example: !addremindernotes 1 Some text
Default permission level: 0

delreminder: Delete reminders by index
Example: !delreminder 0 1 2
Default permission level: 0

delremindernotes: Delete reminder notes for specific reminder
Example: !delremindernotes 1
Default permission level: 0

listreminder: Print list of reminders
Examples:
!listreminder
!listreminder 5 <- prints only first 5 reminders
Default permission level: 0

listreminderlocal: Print list of reminders for current channel
Examples:
!listreminderlocal
!listreminderlocal 5 <- prints only first 5 reminders
Default permission level: 0

remindeme: Ask bot to send you an e-mail when it sends reminder
Example: !remindeme 1 <your-email-address>
Default permission level: 0

reminder: Print information about reminder
Example:
!reminder 1
Default permission level: 0

remindme: Ask bot to ping you when it sends reminder
Example: !remindme 1
Default permission level: 0

remindwme: Ask bot to send direct message you when it sends reminder
Example: !remindwme 1
Default permission level: 0

repeatreminder: Make reminder repeating with particular period
Examples:
!repeatreminder 1 1
!repeatreminder 1 hourly
!repeatreminder 1 daily
!repeatreminder 1 weekly
!repeatreminder 1 monthly
!repeatreminder 1 annually
!repeatreminder 1 2h
!repeatreminder 1 2d
!repeatreminder 1 2w
!repeatreminder 1 2m
!repeatreminder 1 2y
!repeatreminder 1 0
Note: number without postfix is translated to minutes. 0 means disabling repetition
Default permission level: 0

repeatreminderfor: Limit amount of repetitions for reminder
Example: !repeatreminderfor 1 5 <- repeat reminder 1 only 5 times
Default permission level: 0

repeatreminderuntil: Limit amount of repetitions with particular date
Example:
!repeatreminderuntil 1 2022-12-01 <- repeat reminder 1 until Dec 1, 2022 00:00
!repeatreminderuntil 1 2022-12-31 23:59 <- repeat reminder 1 until Dec 31, 2022 23:59
Default permission level: 0

setprereminders: Set pre reminders notifying that reminder will be sent in particular time.
For example, send pre reminder 10 minutes before actual event (to prepare or something)
Usage: !setprereminders <reminder_id> [<time_before_reminder_in_minutes> ...]
Examples:
!setprereminders 1 10
!setprereminders 2 5 10 15
Default permission level: 0

setreminderchannel: Set channel where reminder will be sent
Example: !setreminderchannel 1 <channel_id>
Default permission level: 0

skipreminder: Skip next instance of recurring (repeating) reminder
Example: !skipreminder 1
Note: only recurring (repeating) reminders are affected by this command
Default permission level: 0

timeuntilreminder: Show time until particular reminder
Example: !timeuntilreminder 1
This command can be used as subcommand
Default permission level: 0

updreminder: Update reminder by index
Examples:
!updreminder 0 2020-01-01 00:00 Happy new year!
!updreminder 0 2020-01-01 00:00 Happy new year!
!updreminder 0 today 08:00 Wake up
!updreminder 0 tomorrow 08:00 Wake up
!updreminder 0 monday 09:00 Time to work
!updreminder 0 sat 11:00 Time to chill
!updreminder 0 2d 08:00 Wake up <- 2 days
!updreminder 0 1w 08:00 Wake up <- 1 week
!addreminder 0 1m Monthly event
!addreminder 0 1y Annual event
!updreminder 0 in 1w5d10h5m Test reminder
!updreminder 0 in 1w Test reminder 2
!updreminder 0 in 5h10m Test reminder 3
Default permission level: 0

Module: services

netcheck: Check network and proxy settings
Usage: !netcheck
This command can be used as subcommand
Default permission level: 2

translate: Translate text to specified language
Usage: !translate <lang> <text>
This command can be used as subcommand
Default permission level: 0

weather: Get current weather using wttr.in
Usage: !weather <city>
This command can be used as subcommand
Default permission level: 0

weatherforecast: Get weather forecast using wttr.in
Usage: !weatherforecast <city>
Default permission level: 0

Module: string

countchars: Calculate length of the message
Example: !countchars some text
This command can be used as subcommand
Default permission level: 0

countlines: Count amount of lines
Example: !countlines some text
This command can be used as subcommand
Default permission level: 0

countwords: Count amount of words
Example: !countwords some text
This command can be used as subcommand
Default permission level: 0

demojify: Demojify text
Example: !demojify 🇭 🇪 🇱 🇱 🇴
This command can be used as subcommand
Default permission level: 0

dropchars: Drop n characters of the string
Examples:
!dropchars 2 hello
Result: llo
!dropchars -2 hello
Result: hel
This command can be used as subcommand
Default permission level: 0

droplines: Drop n lines of the string
Examples:
!droplines 2 a
b
c
Result: c
!droplines -2 a
b
c
Result: a
This command can be used as subcommand
Default permission level: 0

dropwords: Drop n words of the string
Examples:
!dropwords 2 a b c
Result: c
!dropwords -2 a b c
Result: a
This command can be used as subcommand
Default permission level: 0

emojify: Emojify text
Example: !emojify Hello!
This command can be used as subcommand
Default permission level: 0

eqstrs: Check if two strings separated by ';' are equal or not
Example: !eqstrs a;b
This command can be used as subcommand
Default permission level: 0

eqwords: Check if two words are equal or not
Example: !eqwords a b
This command can be used as subcommand
Default permission level: 0

join: Join words with string as separator
Example: !join + 1 2 3 -> 1+2+3
This command can be used as subcommand
Default permission level: 0

range: Generate range of numbers
Examples:
!range <stop>
!range <start> <stop>
!range <start> <stop> <step>
This command can be used as subcommand
Default permission level: 0

takechars: Take n characters of the string
Examples:
!takechars 2 hello
Result: he
!takechars -2 hello
Result: lo
This command can be used as subcommand
Default permission level: 0

takelines: Take n lines of the string
Examples:
!takelines 2 a
b
c
Result: a
b
!takelines -2 a
b
c
Result: b
c
This command can be used as subcommand
Default permission level: 0

takewords: Take n words of the string
Examples:
!takewords 2 a b c
Result: a b
!takewords -2 a b c
Result: b c
This command can be used as subcommand
Default permission level: 0

tolower: Convert text to lower case
Example: !tolower SoMe TeXt
This command can be used as subcommand
Default permission level: 0

toupper: Convert text to upper case
Example: !toupper SoMe TeXt
This command can be used as subcommand
Default permission level: 0

urlencode: Urlencode string
Example: !urlencode hello, world!
This command can be used as subcommand
Default permission level: 0

Module: time

setusertz: Set timezone for the user
Usage:
!setusertz
!setusertz Europe/Moscow
!setusertz America/New_York
Default permission level: 0

time: Show current time
Examples:
!time
!time Europe/Moscow
!time America/New_York
Full timezone database list: <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
This command can be used as subcommand
Default permission level: 0

tz: Get current timezone
Usage: !tz
Default permission level: 0