yagop / telegram-bot

UNMAINTAINED - A Telegram Bot based on plugins
GNU General Public License v2.0
848 stars 502 forks source link

:warning: UNMAINTAINED / DEPRECATED :warning:

This proyect is no longer active since Telegram Bot API creation. It's better using the API rather than telegram-bot, almost every feature on Telegram-cli is available on API. You can use node-telegram-bot-api Node.js module if you want. Or search your favourite one here.

telegram-bot

https://yago.me/tg-bot https://telegram.me/Yago_Perez https://gitter.im/yagop/telegram-bot Donate button

A Telegram Bot based on plugins using tg.

Multimedia

http://i.imgur.com/0FGUvU0.png http://i.imgur.com/zW7WWWt.png http://i.imgur.com/zW7WWWt.png

Bot Commands

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. :underage:
!butts: Get a butts NSFW image. :underage:
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 :underage:
!danboorud - random daily popular image :underage:
!danbooruw - random weekly popular image :underage:
!danboorum - random monthly popular image :underage:
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.

Installation

# 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.

Run it as a daemon

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

Contact me

You can contact me via Telegram but if you have an issue please open one.

Join on the TelegramBot Discussion Group.