Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yagop/telegram-bot

UNMAINTAINED - A Telegram Bot based on plugins
https://github.com/yagop/telegram-bot

Last synced: 2 months ago
JSON representation

UNMAINTAINED - A Telegram Bot based on plugins

Awesome Lists containing this project

README

        

:warning: UNMAINTAINED / DEPRECATED :warning:
============
This proyect is no longer active since [Telegram Bot API](https://core.telegram.org/bots/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](https://github.com/yagop/node-telegram-bot-api) Node.js module if you want. Or search your favourite one [here](https://www.reddit.com/r/TelegramBots/comments/4ly273/updated_collection_of_api_wrappers/).

telegram-bot
============

[![https://yago.me/tg-bot](https://img.shields.io/badge/💬_Telegram-Bot_Dev._Group-blue.svg)](https://yago.me/tg-bot) [![https://telegram.me/Yago_Perez](https://img.shields.io/badge/💬_Telegram-Yago__Perez-blue.svg)](https://telegram.me/Yago_Perez) [![https://gitter.im/yagop/telegram-bot](https://img.shields.io/badge/💬_Gitter-Join_Chat-green.svg)](https://gitter.im/yagop/telegram-bot)
[![Donate button](https://img.shields.io/badge/Red_Cross-donate-yellow.svg)](https://www.icrc.org/ "Donate to Red Cross Society")

A Telegram Bot based on plugins using [tg](https://github.com/vysheng/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/0FGUvU0.png) ![http://i.imgur.com/zW7WWWt.png](http://i.imgur.com/zW7WWWt.png) ![http://i.imgur.com/zW7WWWt.png](http://i.imgur.com/kPK7paz.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](https://github.com/yagop/telegram-bot/wiki/Installation)
------------
```bash
# 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
```

```bash
# 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`](https://github.com/yagop/telegram-bot/tree/master/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](http://upstart.ubuntu.com/) you can run the bot by this way
```bash
$ 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](https://telegram.me/yago_perez) but if you have an issue please [open](https://github.com/yagop/telegram-bot/issues) one.

[Join](https://telegram.me/joinchat/ALJ3izwBCNXSswCHOKMwGw) on the TelegramBot Discussion Group.