/HALIX9000

A multipurpose Telegram bot.

Primary LanguageLuaGNU General Public License v2.0GPL-2.0

HALIX 9002

License

A multipurpose Telegram bot run by the LibreLabUCM association. Services are provided by different plugins.

Currently, HALIX is in version 9002 but it's still under development and is not publicly available.

It's based on otouto.

Enabled Bot Commands

8ball.lua /8ball Magic 8-ball
about.lua /about Information about the bot
calc.lua /calc <expression> Solve math expression and convert units
currency.lua /cash <from> <to> [amount] Convert an amount from one currency to another.
dice.lua /roll [arg] Roll a die. Accepts D&D notation
echo.lua /echo <text> Repeat a string
fortune.lua /fortune Random fortunes
gImages.lua /images <query> Google Images search
gMaps.lua /loc <location> Google Maps search
gSearch.lua /google <query> Google Search
giphy.lua /giphy [query] Giphy search or random
hackernews.lua /hackernews Top stories from Hackernews
help.lua /help [command] List commands
hex.lua /hex <number> Convert to and from hexadecimal
imdb.lua /imdb <movie | TV series> IMDb movie/television info
rae.lua /rae Search words in Spanish dictionary
reddit.lua /reddit [r/subreddit | query] Posts from reddit
remind.lua /remind <delay> <message> Set a reminder for yourself or a group
time.lua /time <location> Get the time for a place
weather.lua /weather <location> Get the weather for a place
whoami.lua /who Get user and group IDs
wiki.lua /wiki Search Wikipedia for a relevant article and return its summary
xkcd.lua /xkcd [search] xkcd strips and alt text

##Support

Just use the github capabilities. We're working on a better support service directly built into the bot.

##Setup

Requires Lua, lua-socket and lua-sec. dkjson is provided. Written for Lua 5.2 but will probably run on 5.3.

You must have a Telegram bot and auth token from the BotFather to run this bot. telegram-cli is not required.

###Configuration

To begin, copy config.lua.default to config.lua and add the relevant information.

Most config.lua entries are self-explanatory.

Add your bot API key, and other API keys if desirable. The plugins which require API keys that are not provided are disabled by default. The provided Giphy key is the public test key, and is subject to rate limitaton.

The "fortune.lua" plugin requires the fortune program to be installed on the host computer.

"time_offset" is the time difference, in seconds, between your system clock. It is sometimes necessary for accurate output of the time plugin.

"admins" table includes the ID numbers, as integers, of any privileged users. These will have access to the admin plugin and any addition privileged commands.

"people" table is for the personality plugin: ["55994550"] = "topkecleon"

ID number must be a string. The second string is the nickname to be given to the identified user when a personality greeting is triggered.

To run:

lua bot.lua

##Thanks

Thanks to @topkecleon for developing this awesome bot.

Also, thanks to @yagop for starting telegram-bot, first codebase of HALIX 9000 (old) and of HALIX 9001 (still running).

Finally, thanks to the Telegram guys, for making all this magic possible.

Lua logo