budiwijaya / telegram-bot

A Telegram Bot based on plugins

Home Page:http://telegram.me/yagobot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

telegram-bot

Donate button

A Telegram Bot based on plugins using tg.

Multimedia

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

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. πŸ”ž
!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 Cacluate 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 πŸ”ž
download_media.lua When bot receives a media msg, download the media.
echo.lua Simplest plugin ever! !echo [whatever]: echoes the msg
eur.lua Realtime 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.
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.
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) connexion
!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.
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.
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.
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
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 necesary 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.
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 to english the text.
!translate target_lang text.
!translate source,target text
tweet.lua Random tweew 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. Requieres OAuth Key.
twitter_send.lua Sends a tweet !tw [text]: Sends the Tweet with the configured accout.
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)
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/vysheng/tg#installation
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev make unzip git redis-server
# 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 de 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.

About

A Telegram Bot based on plugins

http://telegram.me/yagobot

License:GNU General Public License v2.0


Languages

Language:Lua 98.7%Language:Shell 1.3%