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.
Mikubot/README.md

75 lines
7.2 KiB
Markdown
Raw Normal View History

2014-06-30 12:34:41 +02:00
telegram-bot
============
2014-12-21 12:44:31 +01:00
A Telegram Bot based on plugins using [tg](https://github.com/vysheng/tg).
2014-10-11 12:34:51 +02:00
2014-11-22 13:30:46 +01:00
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.
2015-01-04 19:51:32 +01:00
- When user sends twitter URL, send text and images to origin. Requires OAuth Key.
2014-11-22 13:30:46 +01:00
- When user sends youtube URL, send to origin video image.
2014-11-23 11:55:02 +01:00
![http://i.imgur.com/0FGUvU0.png](http://i.imgur.com/0FGUvU0.png) ![http://i.imgur.com/zW7WWWt.png](http://i.imgur.com/zW7WWWt.png) ![http://i.imgur.com/zW7WWWt.png](http://i.imgur.com/kPK7paz.png)
2015-01-12 21:17:16 +01:00
2015-01-24 17:16:35 +01:00
Bot Commands
2014-10-11 16:27:05 +02:00
------------
2015-01-24 17:16:35 +01:00
<table>
<thead>
<tr>
<td><strong>Name</strong></td>
<td><strong>Description</strong></td>
<td><strong>Usage</strong></td>
</tr>
</thead>
2015-02-19 21:51:44 +01:00
<tbody><tr><td>9gag.lua</td><td>9GAG for telegram</td><td>!9gag: Send random image from 9gag</td></tr><tr><td>bitfinex.lua</td><td>Bitfinex commands</td><td>!bitfinex symbols: Get a list of valid symbol IDs and the pair details.<br>!bitfinex ticker (pair): Gives innermost bid and asks and information on the most recent trade, as well as high, low and volume of the last 24 hours.<br>!bitfinex stats (pair): Various statistics about the requested pairs.<br>!bitfinex book|orderbook (pair): Get the order book. Limited to 10 bids an 10 asks.<br>!bitfinex trades (pair): Get a list of trades for the given symbol. Limited to 20.<br>!bitfinex lends (currency): Get a list of the most recent swaps: total amount lent and Flash Return Rate (in % by 365 days). Limited to 20.<br></td></tr><tr><td>btc.lua</td><td>Bitcoin global average market value (in EUR or USD)</td><td>!btc [EUR|USD] [amount]</td></tr><tr><td>echo.lua</td><td>Simplest plugin ever!</td><td>!echo [whatever]: echoes the msg</td></tr><tr><td>eur.lua</td><td>EURUSD market value</td><td>!eur [USD]</td></tr><tr><td>fortunes_uc3m.lua</td><td>Fortunes from Universidad Carlos III</td><td>!uc3m</td></tr><tr><td>get.lua</td><td>Retrieves variables saved with !set</td><td>!get (value_name): Returns the value_name value.</td></tr><tr><td>giphy.lua</td><td>GIFs from telegram with Giphy API</td><td>!gif (term): Search and sends GIF from Giphy. If no param, sends a trending GIF.<br>!giphy (term): Search and sends GIF from Giphy. If no param, sends a trending GIF.<br></td></tr><tr><td>google.lua</td><td>Searches Google and send results</td><td>!google [terms]: Searches Google and send results</td></tr><tr><td>gps.lua</td><td>generates a map showing the given GPS coordinates</td><td>!gps latitude,longitude: generates a map showing the given GPS coordinates</td></tr><tr><td>hashrate.lua</td><td>Bitcoin Mining Calculator</td><td>!hashrate: data for 1 TH/s<br>!hashrate [number]: number of TH/s<br></td></tr><tr><td>hello.lua</td><td>Says hello to someone</td><td>say hello to [name]</td></tr><tr><td>help.lua</td><td>Help plugin. Get info from other plugins. </td><td>!help: Show all the help<br>!help md: Generate a GitHub Markdown table<br></td></tr><tr><td>images.lua</td><td>When user sends image URL (ends with png, jpg, jpeg) download and send it to origin.</td><td></td></tr><tr><td>imdb.lua</td><td>Imdb plugin for telegram</td><td>!imdb [movie]</td></tr><tr><td>img_google.lua</td><td>Search image with Google API and sends it.</td><td>!img [term]: Random search an image with Google API.</td></tr><tr><td>invite.lua</td><td>Invite other user to the chat group</td><td>!invite name [user_name]<br>!invite id [user_id]<br></td></tr><tr><td>location.lua</td><td>Gets information about a location, maplink and overview</td><td>!loc (location): Gets information about a location, maplink and overview</td></tr><tr><td>media.lua</td><td>When user sends media URL (ends with gif, mp4, pdf, etc.) download and send it to origin.</td><td></td></tr><tr><td>ping.lua</td><td>If domain is offline, send msg to peer</td><td></td></tr><tr><td>plugins.lua</td><td>Plugin to manage other plugins. Enable, disable or reload.</td><td>!plugins: list all plugins<br>!plugins enable [plugin]: enable plugin<br>!plugins disable [plugin]: disable plugin<br>!plugins reload: reloads all plugins<br></td></tr><tr><td>quandl.lua</td><td>Gold and Oil Price</td><td>!gold<br>!oil<br></td></tr><tr><td>quotes.lua</td><td>Quote plugin, you can create and retrieves random quotes</td><td>!addquote [msg]<br>!quote<br></td></tr><tr><td>rae.lua</td><td>Spanish dictionary</td><td>!rae [word]: Search that word in Spanish dictionary. Powered by https://github.com/javierhonduco/dulcinea</td></tr><tr><td>set.lua</td><td>Plugin for saving values. get.lua plugin is necesary to retrieve them.</td><td>!set [value_name] [data]: Saves the data with the value_name name.</td></tr><tr><td>stats.lua</td><td>Plugin to update user stats.</td><td>!stats: Returns a list of Username [telegram_id]: msg_num</td></tr><tr><td>time.lua</td><td>Displays the local time
2014-11-22 13:30:46 +01:00
2014-11-23 11:55:02 +01:00
Installation
------------
```bash
# Tested on Ubuntu 14.04, for other OSs check out https://github.com/vysheng/tg#installation
2014-12-10 12:19:50 +01:00
$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev unzip git
2014-11-23 11:55:02 +01:00
$ cd /tmp
$ wget http://luarocks.org/releases/luarocks-2.2.0.tar.gz
2015-02-02 18:59:26 +01:00
$ tar -xzvf luarocks-2.2.0.tar.gz
2014-11-23 11:55:02 +01:00
$ cd luarocks-2.2.0/
2015-02-02 18:59:26 +01:00
$ ./configure
2014-11-23 11:55:02 +01:00
$ make && sudo make install
$ sudo luarocks install oauth
$ sudo luarocks install luasocket
```
```bash
# After those dependencies, lets install the bot
$ cd $HOME
2014-12-10 12:25:18 +01:00
$ git clone https://github.com/yagop/telegram-bot.git --recursive
2014-11-23 11:55:02 +01:00
$ cd telegram-bot/tg
2015-01-12 21:17:16 +01:00
$ ./configure && make && cd ..
$ ./launch.sh # Will ask you for a phone number & confirmation code.
```
Enable more [`plugins`](https://github.com/yagop/telegram-bot/tree/master/plugins)
-------------
See the plugins list with `!plugins` command.
2015-01-12 21:26:24 +01:00
Enable a disabled plugin by `!plugins enable [name]`.
2015-01-12 21:17:16 +01:00
2015-02-02 18:59:26 +01:00
Disable an enabled plugin by `!plugins disable [name]`.
2015-01-12 21:17:16 +01:00
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](http://upstart.ubuntu.com/) you can run the bot by this way
```bash
2014-12-17 21:31:52 +01:00
$ 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/
2015-01-14 15:52:30 +01:00
$ sudo start telegram # To start it
$ sudo stop telegram # To stop it
2014-12-10 12:19:50 +01:00
```
2014-12-21 12:44:31 +01:00
Contact me
------------
You can contact me [via Telegram](https://telegram.me/yago_perez) but if you have an issue please [open](https://github.com/yagop/telegram-bot/issues) one.