Der erste Mikubot
bot | ||
data | ||
etc | ||
libs | ||
plugins | ||
tg@01f5d9a3b6 | ||
.gitignore | ||
.gitmodules | ||
launch.sh | ||
LICENSE | ||
README.md |
telegram-bot
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.
Bot Commands
Name | Description | Usage |
9gag.lua | 9GAG for telegram | !9gag: Send random image from 9gag |
btc.lua | Bitcoin global average market value (in EUR or USD) | !btc [EUR|USD] [amount] |
echo.lua | Simplest plugin ever! | !echo [whatever]: echoes the msg |
eur.lua | EURUSD market value | !eur [USD] |
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 |
hello.lua | Says hello to someone | say hello to [name] |
help.lua | Help plugin. Get info from other plugins. | !help: Show all the help !help md: Generate a GitHub Markdown table |
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] |
location.lua | Gets information about a location, maplink and overview | !loc (location): Gets information about a location, maplink and overview |
media.lua | When user sends media URL (ends with gif, mp4, pdf, etc.) download and send it to origin. | |
ping.lua | If domain is offline, send msg to peer | |
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 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. Powered by https://github.com/javierhonduco/dulcinea |
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 |
time.lua | Displays the local time in an area | !time [area]: Displays the local time in that area |
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 |
weather.lua | weather in that city (Madrid is default) | !weather (city) |
xkcd.lua | Send comic images from xkcd | !xkcd (id): Send an xkcd image and tigle. 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 unzip git
$ cd /tmp
$ wget http://luarocks.org/releases/luarocks-2.2.0.tar.gz
$ tar -xzvf luarocks-2.2.0.tar.gz
$ cd luarocks-2.2.0/
$ ./configure
$ make && sudo make install
$ sudo luarocks install oauth
$ sudo luarocks install luasocket
# After those dependencies, lets install the bot
$ cd $HOME
$ git clone https://github.com/yagop/telegram-bot.git --recursive
$ cd telegram-bot/tg
$ ./configure && make && cd ..
$ ./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.