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.
				
			
		
		
		
			
				
					
						
					
					2890acc04ea74c9126cac2607d96b470bc4a9186
				
			
			
		
	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.
Description
				
					Languages
				
				
								
								
									Lua
								
								99.5%
							
						
							
								
								
									Shell
								
								0.5%
							
						
					 
			

