2023

Botkit

2023–2024
Thumbnail of Botkit

A Telegram bot library designed to handle commands and dialogs. Both of these support replying with sticker, photo, video, audio, album or file (even files not directly uploaded by the bot). Dialogs are composed of one or more queries, which can be single choice, multi choice or file queries. In theory you could run multiple instances to help balance the load, as long as they share the same Redis database.

Commander

2023–2024
Thumbnail of Commander

Execute Go functions from CLI or from a chatbot. Register any function as a command, then supply a context variable and a string slice as input arguments. If the original function has Context parameter(s), the context variable will be passed, otherwise the arguments from the string slice will be converted using Sscanf. The function’s return values are converted into a []any slice and if any of these values is an error, it will be extracted into a separate error return value.

2021

Telegram PizzaBot

2021
Thumbnail of Telegram PizzaBot

Do you love pizza so much that you keep talking about it in your Telegram group chat? Now you can include this bot and with the right permissions it will respond with a pizza sticker or interesting pizza fact to any mentions of pizza.

2018

RazTalk

2018
Thumbnail of RazTalk

A simple lobby/channel based registration-free webchat. Implemented using NancyFX + Razor + SignalR stack and relies on RazTools to support dynamic loading of bot libraries during runtime. The repo contains (outdated) bot implementations for CleverBot, Giphy, Imgur and Reddit. There is also a standalone desktop client, which is just a wrapper around the web interface.

2008

Razzie Messenger

2008
Thumbnail of Razzie Messenger

Razzie Messenger is a messenger client and server I started working on during a one-week vacation at lake Balaton (Hungary). It uses a very simple plain text based protocol for network communication, look at the picture to see it in details. (Since then I prefer binary protocols due to the ineffeciency of string parsing and large packet sizes in case of text protocols.) The user can chose a nickname and pick colors for the name and the text messages. There is no registration and password authentication, however the server rejects the connection if a nickname is already taken in the current session. It is possible to send a file to an other user: in this case the server opens a random port which receives and forwards the file. Both users have to connect to this port, but it is done automatically. This solution was necessary due to the limitations of the text based protocol.

×