Der erste Mikubot
This repository has been archived on 2021-04-24. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2015-02-02 23:22:21 +01:00
bot Merge branch 'master' of git://github.com/but3k4/telegram-bot into but3k4-master 2015-02-02 22:42:59 +01:00
data data is the new res folder 2015-01-06 21:04:45 +01:00
etc Configure and install upstart script 2014-12-17 21:31:52 +01:00
libs Enable / Diable plugins. libs folder. Generate config.lua with serpent, defined enabled_plugins. Plugins config, is inside them, not in config.lua. 2014-12-31 17:14:48 +01:00
plugins Returns HTTP Error if any in XKCD plugin 2015-02-02 23:19:10 +01:00
tg@01f5d9a3b6 updated tg 2015-02-02 22:39:51 +01:00
.gitignore data is the new res folder 2015-01-06 21:04:45 +01:00
.gitmodules back to vysheng/tg 2014-09-04 01:11:24 +02:00
launch.sh serialize config with function 2015-01-01 16:06:24 +01:00
LICENSE Initial commit 2014-06-30 12:34:41 +02:00
README.md Fixes typo on 'eanbled' 2015-02-02 15:59:57 -02:00

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.

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

Bot Commands

Name Description Usage
9gag.lua9GAG for telegram!9gag: Send random image from 9gag
btc.luaBitcoin global average market value (in EUR or USD)!btc [EUR|USD] [amount]
echo.luaechoes the msg!echo [whatever]
eur.luaEURUSD market value!eur [USD]
fortunes_uc3m.luaFortunes from Universidad Carlos III!uc3m
get.luaretrieves variables saved with !set!get (value_name)
giphy.luaGIFs 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.luaSearches Google and send results!google [terms]
gps.luagenerates a map showing the given GPS coordinates!gps latitude,longitude
hello.luaSays hello to someonesay hello to [name]
help.luaLists all available commands!help
!help md
images.luaWhen user sends image URL (ends with png, jpg, jpeg) download and send it to origin.
img_google.luasearch image with Google API and sends it!img [topic]
invite.luaInvite other user to the chat group!invite name [user_name]
!invite id [user_id]
location.luaGets information about a location, maplink and overview!loc (location)
media.luaWhen user sends media URL (ends with gif, mp4, pdf, etc.) download and send it to origin.
ping.luaIf domain is offline, send msg to peer
plugins.luaEnables, disables and reloads plugins. Privileged users only.!plugins: list all plugins
!plugins enable [plugin]
!plugins disable [plugin]
!plugins reload
rae.luaSpanish dictionary!rae [word]
set.luaSet value!set [value_name] [data]
stats.luaNumer of messages by user!stats
time.luaDisplays the local time in an area!time [area]
twitter.luaWhen user sends twitter URL, send text and images to origin. Requieres OAuth Key.
twitter_send.luaSends a tweet!tw [text]
version.luaShows bot version!version
weather.luaweather in that city (Madrid is default)!weather (city)
youtube.luasends 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.