Home

Awesome

Jack

Multi purpose telegram bot written in MoonScript/lua and licenced under the GNU General Public License.

Public bot

Website

Table of Contents

Setup

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

Manual installation

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

options

Use ./run.sh --help for available options

Ranks

RanksPermissions
AdminHas access to everything
PremiumHas access to premium feature
Normal userHas access to public feature
BlacklistedBot will ignore blacklisted users

Telegram cli

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

Telegram CLI Commands

Database

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

  1. title
  2. type

user_id info

bot:users:user_id

  1. first_name
  2. last_name
  3. 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

Plugins list

9gag

Send random image from 9gag

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/9gag

Admin

Plugin for admins

ListedRequires API KEYEnabled by defaultinline
NNYY

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

Anime plugin (hummingbird.me)

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/anime search <anime name>

For searching

/anime pic <query>

Will search for query

/anime pic

Will send random anime pic

Bing

Bing Search

ListedRequires API KEYEnabled by defaultinline
YYNY

Commands

/bing <terms>

Calculator

Returns solutions to math expressions

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/calc <expression>

Cat

Returns a cat

ListedRequires API KEYEnabled by defaultinline
YOYY

Commands

/cat

Chatter

Talk to bot in English !

ListedRequires API KEYEnabled by defaultinline
YNYN

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

Code

Send the code in image format with support for highlighter.

ListedRequires API KEYEnabled by defaultinline
YYNN

Commands

/code <language> <code>

Commit

Send the a commit.

ListedRequires API KEYEnabled by defaultinline
YNNY

Commands

/commit

Currency

Currency rate converter

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/cash <amount> <from> to <to>

Returns exchange rates for various currencies.

Dogify

Create a doge image with you words

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/dogify <your/words/with/slashes>

DuckGo

DuckDuckGo search

ListedRequires API KEYEnabled by defaultinline
YNNY

Commands

/duckduckgo <terms>

/duckgo <terms>

Echo

Returns text

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/echo <text>

Markdown is enabled

Fortune

Linux Fortunes

ListedRequires API KEYEnabled by defaultinline
YNNY

Commands

/fortunes

Get

Retrieves variables saved with /set

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/return (value_name)

Giphy

Returns a GIF from giphycom!

ListedRequires API KEYEnabled by defaultinline
YYYN

Commands

/giphy

Returns a random GIF

/giphy <query>

Returns a GIF about <query>

Github

Returns info about GitHub repo

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/github <repo>

/gitrepo SEEDTEAM/TeleSeed

Google search

Google search

ListedRequires API KEYEnabled by defaultinline
YYYY

Commands

/google <terms>

/g <terms>

Greeting

About and greeting

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/about

Info about your bot

Hi bot_first_name

Bye bot_first_name

Help

Returns info about other plugins

ListedRequires API KEYEnabled by defaultinline
NNYY

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

IMDB

Returns Info about movie from IMDB and its poster

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/imdb

Instagram

Search users on instagram

ListedRequires API KEYEnabled by defaultinline
YYNY

Commands

/insta <username>

Return user info

IP info

Returns Given IP or domain info

ListedRequires API KEYEnabled by defaultinline
YYYY

Commands

/ip <IP|domain>

lastfm

Lastfm

ListedRequires API KEYEnabled by defaultinline
YYYY

Commands

/lastfm

Returns what you are or were last listening to

/lastfm <username>

Returns what <username> is or was last listening to

/lastfm set <username>

Will set your username

/lastfm rem

Will remove your username

Link shortener

Returns Shorten link

ListedRequires API KEYEnabled by defaultinline
YYYY

Commands

/shorten <url>

/shorten https://github.com/SEEDTEAM

Lmgtfy

Let me google that for you !

ListedRequires API KEYEnabled by defaultinline
YNYY

Location

Sends location data

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/loc <query>

/location <query>

Me

Your profile in telegram !

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/me <parameter> <query>

/me facebook jackbot

/me <parameter> del

Will delete <parameter>

/me

Will return your profile and msg Statistics

Can also be triggered by reply

Poll

Create a poll

ListedRequires API KEYEnabled by defaultinline
YNNN

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

QRcode

Send a QRcore

ListedRequires API KEYEnabled by defaultinline
YNNN

Commands

/qr <text>

Generates a QR code

Reactions

Reactions

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/reactions

Returns list of reactions

Remind

Reminder

ListedRequires API KEYEnabled by defaultinline
YNYN

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

set

Plugin for saving values

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/set <value_name> <data>

Shell

Run terminal commands

ListedRequires API KEYEnabled by defaultinline
NNNN

Commands

/shell <Command>

/shell date

Slap

Slap someone

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/slap

By reply

/slap <name>

Spotify

Spotify plugin

ListedRequires API KEYEnabled by defaultinline
YOYY

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

Stats

Chat msg statistics

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/chatstats

Returns a list of members with their msg statistics

Sticker

Return a sticker with your text

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/sticker <text>

Talk

Returns voice

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/tts <text>

TelegramCli

Control a real telegram account

ListedRequires API KEYEnabled by defaultinline
NNNN

Commands

/tg <Telegram-cli command

More info

Time

Returns the time, date, and timezone for the given location

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/time <location>

Translate

Yandex translate

ListedRequires API KEYEnabled by defaultinline
YYYY

/translate <language> <text>

Will translate text to language

/translate <language>

<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

Urban dictionary

Returns the top definition from Urban Dictionary.

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/ud <query>

weather

Returns the current weather

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/weather <city>

Webshot

Returns screen shot from given website

ListedRequires API KEYEnabled by defaultinline
YYYN

Commands

/webshot <url>

Who

Returns info about user and chat

ListedRequires API KEYEnabled by defaultinline
YNYY

Commands

/who

Wikipedia

Returns results from wikipedia.com

ListedRequires API KEYEnabled by defaultinline
YNYN

Commands

/wiki <query>

/wikipedia <query>

Youtube

Returns results from youtube.com

ListedRequires API KEYEnabled by defaultinline
YYNY

Commands

/youtube get <video name(for search)>

/youtube dl <video name(for download)>

Support and development

Join our development group by sending /join 1047524697 to @TeleSeed

Special thanks to

Alphonse

Vamptacus

topkecleon

Yago

Collaborators

Unfriendly

Tiago Danin

Other projects

TeleSeed

An advance Administration bot

TelegramLoggingBot

Connects 2 groups or can be used to create a logging group

file-manager-bot

A Linux file manager telegram bot