A Telegram Bot based on plugins using tg.
- When user sends image (png, jpg, jpeg) URL download and send it to origin.
- When user sends media (gif, mp4, pdf, etc.) URL download and send it to origin.
- When user sends twitter URL, send text and images to origin. Requires OAuth Key.
- When user sends YouTube URL, send to origin video image.
Name | Description | Usage |
9gag.lua | 9GAG for telegram | !9gag: Send random image from 9gag |
boobs.lua | Gets a random boobs or butts pic | !boobs: Get a boobs NSFW image. 🔞 !butts: Get a butts NSFW image. 🔞 |
btc.lua | Bitcoin global average market value (in EUR or USD) | !btc [EUR|USD] [amount] |
bugzilla.lua | Lookup bugzilla status update | /bot bugzilla [bug number] |
calculator.lua | Calculate math expressions with mathjs API | !calc [expression]: evaluates the expression and sends the result. |
channels.lua | Plugin to manage channels. Enable or disable channel. | !channel enable: enable current channel !channel disable: disable current channel |
danbooru.lua | Gets a random fresh or popular image from Danbooru | !danbooru - gets a random fresh image from Danbooru 🔞 !danboorud - random daily popular image 🔞 !danbooruw - random weekly popular image 🔞 !danboorum - random monthly popular image 🔞 |
dogify.lua | Create a doge image with words. | !dogify (words/or phrases/separated/by/slashes) - Create a doge image with the words. |
download_media.lua | When bot receives a media msg, download the media. | |
echo.lua | Simplest plugin ever! | !echo [whatever]: echoes the msg |
eur.lua | Real-time EURUSD market price | !eur [USD] |
expand.lua | Expand a shorten URL to the original. | !expand [url] |
fortunes_uc3m.lua | Fortunes from Universidad Carlos III | !uc3m |
get.lua | Retrieves variables saved with !set | !get (value_name): Returns the value_name value. |
giphy.lua | GIFs from telegram with Giphy API | !gif (term): Search and sends GIF from Giphy. If no param, sends a trending GIF. !giphy (term): Search and sends GIF from Giphy. If no param, sends a trending GIF. |
gnuplot.lua | Gnuplot plugin | !gnuplot [single variable function]: Plot single variable function. |
google.lua | Searches Google and send results | !google [terms]: Searches Google and send results |
gps.lua | generates a map showing the given GPS coordinates | !gps latitude,longitude: generates a map showing the given GPS coordinates |
hackernews.lua | Show top 5 hacker news (ycombinator.com) | !hackernews |
hello.lua | Says hello to someone | say hello to [name] |
help.lua | Help plugin. Get info from other plugins. | !help: Show list of plugins. !help all: Show all commands for every plugin. !help [plugin name]: Commands for that plugin. |
id.lua | Know your id or the id of a chat members. | !id: Return your ID and the chat id if you are in one. !id(s) chat: Return the IDs of the chat members. |
images.lua | When user sends image URL (ends with png, jpg, jpeg) download and send it to origin. | |
imdb.lua | IMDB plugin for Telegram | !imdb [movie] |
img_google.lua | Search image with Google API and sends it. | !img [term]: Random search an image with Google API. |
invite.lua | Invite other user to the chat group | !invite name [user_name] !invite id [user_id] |
isup.lua | Check if a website or server is up. | !isup [host]: Performs a HTTP request or Socket (ip:port) connection !isup cron [host]: Every 5mins check if host is up. (Requires privileged user) !isup cron delete [host]: Disable checking that host. |
location.lua | Gets information about a location, maplink and overview | !loc (location): Gets information about a location, maplink and overview |
magic8ball.lua | Magic 8Ball | !magic8ball |
media.lua | When user sends media URL (ends with gif, mp4, pdf, etc.) download and send it to origin. | |
meme.lua | Generate a meme image with up and bottom texts. |
!meme search (name): Return the name of the meme that match. !meme list: Return the link where you can see the memes. !meme listall: Return the list of all memes. Only admin can call it. !meme [name] - [text_up] - [text_down]: Generate a meme with the picture that match with that name with the texts provided. !meme [name] "[text_up]" "[text_down]": Generate a meme with the picture that match with that name with the texts provided. |
minecraft.lua | Searches Minecraft server and sends info | !mine [ip]: Searches Minecraft server on specified IP and sends info. Default port: 25565 !mine [ip] [port]: Searches Minecraft server on specified IP and port and sends info. |
pili.lua | Shorten an URL with pili.la service | !pili [url]: Short the url |
plugins.lua | Plugin to manage other plugins. Enable, disable or reload. | !plugins: list all plugins. !plugins enable [plugin]: enable plugin. !plugins disable [plugin]: disable plugin. !plugins disable [plugin] chat: disable plugin only this chat. !plugins reload: reloads all plugins. |
qr.lua | Given a text it returns a qr code | !qr [text] : returns a black and white qr code !qr "[background color]" "[data color]" [text] : returns a colored qr code (see !help qr to see how specify colors). |
quotes.lua | Quote plugin, you can create and retrieves random quotes | !addquote [msg] !quote |
rae.lua | Spanish dictionary | !rae [word]: Search that word in Spanish dictionary. |
roll.lua | Roll some dice! | !roll d | d |
rss.lua | Manage User/Chat RSS subscriptions. | !rss: Get the rss subscriptions. !rss subscribe (url): Subscribe to that url. !rss unsubscribe (id): Unsubscribe of that id. !rss sync: Sync the rss subscriptios now. Only sudo users can use this option. |
search_youtube.lua | Search video on YouTube and send it. | !youtube [term]: Search for a YouTube video and send it. |
set.lua | Plugin for saving values. get.lua plugin is necessary to retrieve them. | !set [value_name] [data]: Saves the data with the value_name name. |
stats.lua | Plugin to update user stats. | !stats: Returns a list of Username [telegram_id]: msg_num |
steam.lua | Grabs Steam info for Steam links. | |
tex.lua | Convert LaTeX equation to image | !tex [equation]: Convert LaTeX equation to image |
time.lua | Displays the local time in an area | !time [area]: Displays the local time in that area |
translate.lua | Translate some text | !translate text. Translate the text to English. !translate target_lang text. !translate source,target text |
tweet.lua | Random tweet from user | !tweet id [id]: Get a random tweet from the user with that ID !tweet id [id] last: Get a random tweet from the user with that ID !tweet name [name]: Get a random tweet from the user with that name !tweet name [name] last: Get a random tweet from the user with that name |
twitter.lua | When user sends twitter URL, send text and images to origin. Requires OAuth Key. | |
twitter_send.lua | Sends a tweet | !tw [text]: Sends the Tweet with the configured account. |
version.lua | Shows bot version | !version: Shows bot version |
vote.lua | Plugin for voting in groups. | !voting reset: Reset all the votes. !vote [number]: Cast the vote. !voting stats: Shows the statistics of voting. |
weather.lua | weather in that city (Madrid is default) | !weather (city) |
webshot.lua | Take an screenshot of a web. | !webshot [url] |
wiki.lua | Searches Wikipedia and send results | !wiki [terms]: Searches wiki and send results !wiki_set [wiki]: sets the wikimedia site for this chat !wiki_get: gets the current wikimedia site |
xkcd.lua | Send comic images from xkcd | !xkcd (id): Send an xkcd image and title. If not id, send a random one |
youtube.lua | Sends YouTube info and image. |
# Tested on Ubuntu 14.04, for other OSs check out https://github.com/yagop/telegram-bot/wiki/Installation
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev make unzip git redis-server g++ libjansson-dev libpython-dev expat libexpat1-dev
# After those dependencies, lets install the bot
cd $HOME
git clone https://github.com/yagop/telegram-bot.git
cd telegram-bot
./launch.sh install
./launch.sh # Will ask you for a phone number & confirmation code.
Enable more plugins
See the plugins list with !plugins
command.
Enable a disabled plugin by !plugins enable [name]
.
Disable an enabled plugin by !plugins disable [name]
.
Those commands require a privileged user, privileged users are defined inside data/config.lua
(generated by the bot), stop the bot and edit if necessary.
If your Linux/Unix comes with upstart you can run the bot by this way
$ sed -i "s/yourusername/$(whoami)/g" etc/telegram.conf
$ sed -i "s_telegrambotpath_$(pwd)_g" etc/telegram.conf
$ sudo cp etc/telegram.conf /etc/init/
$ sudo start telegram # To start it
$ sudo stop telegram # To stop it
You can contact me via Telegram but if you have an issue please open one.
Join on the TelegramBot Discussion Group.