Multi purpose telegram bot written in MoonScript/lua and licenced under the GNU General Public License.
Table of Contents
- Setup
- Ranks
- Telegram Cli
- Database
- Plugins
- Support and development
- Special thanks to
- Collaborators
- Other projects
Clone Jack !
cd $HOME
git clone https://github.com/Imandaneshi/jack-telegram-bot.git
cd jack-telegram-bot
install it!
chmod +x install.sh
./install.sh
Add your bot token in config.moon
telegram_api_key: "Your bot token here"
Add your telegram id to admins table in config.moon
admins: {
110626080
123456789
--your id
}
Run it !
chmod +x run.sh
./run.sh
Use ./run.sh --help
for available options
Ranks | Permissions |
---|---|
Admin | Has access to everything |
Premium | Has access to premium feature |
Normal user | Has access to public feature |
Blacklisted | Bot will ignore blacklisted users |
If it's first time you are installing telegram-cli
You should have libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
installed
You can install them by
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
Install telegram-cli using ./install.sh
Run it
./tg.sh
Enter your phone number and conformation code
And uncomment plugin telegramCli
in config.moon
You can change port in tg.sh
You can send commands to telegram-cli using your api bot
Few examples
#tg msg user#id123456789 <text>
#tg msg channel#id123456789 <text>
#tg msg chat#id123456789 <text>
#tg resolve_username username
#tg chat_del_user chat#id123456789 user#id12345678
Jack uses redis as database
Here are the datas
Chats
bot:chats
> List of all chats(groups,supergroups,privates)
bot:privates
> List of all private chats
bot:groups
> List of all groups
bot:supergroups
> List of all supergroups
bot:inline_users
> List of all inline users
bot:callback_users
> List of all callback users
chat_id info
bot:chats:chat_id
- title
- type
user_id info
bot:users:user_id
- first_name
- last_name
- username
These info will be updated on each msg
bot:total_inline_from_user:msg.from.id
>
bot statistics
bot:total_messages
> Number of total msgs bot received
bot:total_inlines
> Number of total inline requests
bot:total_callbacks
> Number of total callback requests
chat_id msg statistics
bot:total_chat_msgs:chat_id
> Number of total msgs bot received in chat_id
"bot:total_users_msgs_in_chat:chat_id:user_id"
> Number of total msgs bot received in chat_id from user_id
chat_id members
bot:chatchat_id
> list of chat_id members
How to backup,restore,secure,stablize redis DB
Plugins list
- 9gag
- Admin
- Anime
- Bing
- Calculator
- Cat
- Chatter
- Code
- Commit
- Currency
- Dogify
- DuckGo
- Echo
- Giphy
- Github
- Help
- Imdb
- Ipinfo
- Lastfm
- Linkshortener
- lmgtfy
- Location
- Me
- Meme
- Moon
- Poll
- Qrcode
- Reactions
- Remind
- Set
- Shell
- Slap
- Spotify
- Stats
- Sticker
- Talk
- Telegram-Cli
- Time
- Translate
- Time
- Translate
- Urban dictionary
- Weather
- Webshot
- Who
- Wikipedia
- Youtube
Send random image from 9gag
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/9gag
Plugin for admins
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
N | N | Y | Y |
Commands
/bot
Returns Bot status
/admin reload
Reloads bot
/plugins <Plugin_name> <chat_id> <true|false>
True will disable plugin
<Plugin_name>
on chat<chat_id>
/blacklist <user_id>
This command will blacklist <user_id>
Can also be used by reply
/bc <chat_id> <text>
this command will send
<text>
to<chat_id>
Markdown is enabled
use @channel_username for sending msgs to channels
/broadcast <msg>
This command will send msg to all chats
/editmsg <new msg>
Edit message
Use in reply
Anime plugin (hummingbird.me)
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/anime search <anime name>
For searching
/anime pic <query>
Will search for query
/anime pic
Will send random anime pic
Bing Search
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | N | Y |
Commands
/bing <terms>
Returns solutions to math expressions
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/calc <expression>
Returns a cat
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | O | Y | Y |
Commands
/cat
Talk to bot in English !
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
bot_first_name, <text>
bot_username, <text>
jack, How are you ?
@jackbot, How are you ?
you can also trigger chatter plugin by talking to bot in private or replying on of its messages in groups
Send the code in image format with support for highlighter.
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | N | N |
Commands
/code <language> <code>
Send the a commit.
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | N | Y |
Commands
/commit
Currency rate converter
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/cash <amount> <from> to <to>
Returns exchange rates for various currencies.
Create a doge image with you words
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/dogify <your/words/with/slashes>
DuckDuckGo search
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | N | Y |
Commands
/duckduckgo <terms>
/duckgo <terms>
Returns text
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/echo <text>
Markdown is enabled
Linux Fortunes
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | N | Y |
Commands
/fortunes
Retrieves variables saved with /set
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/return (value_name)
Returns a GIF from giphycom!
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | N |
Commands
/giphy
Returns a random GIF
/giphy <query>
Returns a GIF about
Returns info about GitHub repo
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/github <repo>
/gitrepo SEEDTEAM/TeleSeed
Google search
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | Y |
Commands
/google <terms>
/g <terms>
About and greeting
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/about
Info about your bot
Hi bot_first_name
Bye bot_first_name
Returns info about other plugins
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
N | N | Y | Y |
Commands
/help
Will return a short list of plugins
/help all
Will return full list of plugins with their commands
/help <plugin_name>
Will return info about that plugin
Returns Info about movie from IMDB and its poster
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/imdb
Search users on instagram
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | N | Y |
Commands
/insta <username>
Return user info
Returns Given IP or domain info
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | Y |
Commands
/ip <IP|domain>
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | Y |
Commands
/lastfm
Returns what you are or were last listening to
/lastfm <username>
Returns what is or was last listening to
/lastfm set <username>
Will set your username
/lastfm rem
Will remove your username
Returns Shorten link
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | Y |
Commands
/shorten <url>
Let me google that for you !
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Sends location data
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/loc <query>
/location <query>
Your profile in telegram !
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/me <parameter> <query>
/me facebook jackbot
/me <parameter> del
Will delete
/me
Will return your profile and msg Statistics
Can also be triggered by reply
Create a poll
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | N | N |
Commands
/poll new <question>
Create a new poll
/poll add <option>
Added a answer option
/poll del
Delete or terminate the Poll
/poll
Shows the poll
Send a QRcore
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | N | N |
Commands
/qr <text>
Generates a QR code
Reactions
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/reactions
Returns list of reactions
Reminder
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/remind <delay (value|mh)> <text>
/remind 1h test
/remind 1m test
/remind 1h30m test
This plugin will save data in Redis(database) So It even works after Bot crashed or anything happen
Plugin for saving values
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/set <value_name> <data>
Run terminal commands
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
N | N | N | N |
Commands
/shell <Command>
/shell date
Slap someone
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/slap
By reply
/slap <name>
Spotify plugin
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | O | Y | Y |
Commands
/spotify get <track name(for search)>
Returns preview of that song (only 30 sec)
/spotify track <track name(for search)>
Returns track info and picture
/spotify album <album name(for search)>
Returns album info and picture
/spotify artist <artist name(for search)>
Returns artist info and picture
/spotify playlist <playlist name(for search)>
Returns playlist info and picture
Chat msg statistics
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/chatstats
Returns a list of members with their msg statistics
Return a sticker with your text
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/sticker <text>
Returns voice
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/tts <text>
Control a real telegram account
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
N | N | N | N |
Commands
/tg <Telegram-cli command
Returns the time, date, and timezone for the given location
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/time <location>
Yandex translate
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | Y |
/translate <language> <text>
Will translate text to language
/translate <language>
examples:
en for translating text to english
ar-en for translating text from arabic to english
You can use both
Can be used by replying to a msg
Returns the top definition from Urban Dictionary.
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/ud <query>
Returns the current weather
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/weather <city>
Returns screen shot from given website
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | Y | N |
Commands
/webshot <url>
Returns info about user and chat
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | Y |
Commands
/who
Returns results from wikipedia.com
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | N | Y | N |
Commands
/wiki <query>
/wikipedia <query>
Returns results from youtube.com
Listed | Requires API KEY | Enabled by default | inline |
---|---|---|---|
Y | Y | N | Y |
Commands
/youtube get <video name(for search)>
/youtube dl <video name(for download)>
Join our development group by sending /join 1047524697 to @TeleSeed
An advance Administration bot
Connects 2 groups or can be used to create a logging group
A Linux file manager telegram bot