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-04-05 16:18:00 +02:00
bot Version 0.10.1 2015-04-05 13:58:07 +02: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 mimetype lib 2015-02-15 16:51:37 +01:00
plugins Boobs help 2015-04-05 15:06:29 +02: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 Dont send dialog_list query 2015-02-15 12:12:52 +01:00
LICENSE LICENSE name and year 2015-03-02 20:12:41 +01:00
README.md Updated command list 2015-04-05 16:18:00 +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.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]
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
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]
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.
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 reeload: 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.
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
translate.lua Translate some text !translate text. Translate to english the text.
!translate target_lang text.
!translate source,target text
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)
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 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.