Der erste Mikubot
475f6fcfec
Conflicts: plugins/stats.lua |
||
---|---|---|
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 | echoes the msg | !echo [whatever] |
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) |
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] |
gps.lua | generates a map showing the given GPS coordinates | !gps latitude,longitude |
hello.lua | Says hello to someone | say hello to [name] |
help.lua | Lists all available commands | !help !help md |
images.lua | When user sends image URL (ends with png, jpg, jpeg) download and send it to origin. | |
img_google.lua | search image with Google API and sends it | !img [topic] |
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) |
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 | Enables, disables and reloads plugins. Privileged users only. | !plugins: list all plugins !plugins enable [plugin] !plugins disable [plugin] !plugins reload |
rae.lua | Spanish dictionary | !rae [word] |
set.lua | Set value | !set [value_name] [data] |
stats.lua | Numer of messages by user | !stats |
time.lua | Displays the local time in an area | !time [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] |
version.lua | Shows bot version | !version |
weather.lua | weather in that city (Madrid is default) | !weather (city) |
youtube.lua | sends YouTube 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.