You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Syfaro 5d6f84e9b2 update readme, bot init function 10 years ago
README.md update readme, bot init function 10 years ago
bot.go setup functions, plugin enabler, reply markup, example commands 10 years ago
methods.go setup functions, plugin enabler, reply markup, example commands 10 years ago
plugin_fa.go setup functions, plugin enabler, reply markup, example commands 10 years ago
plugin_help.go setup functions, plugin enabler, reply markup, example commands 10 years ago
plugin_manage.go setup functions, plugin enabler, reply markup, example commands 10 years ago
responses.go setup functions, plugin enabler, reply markup, example commands 10 years ago

README.md

Golang Telegram bot using the Bot API

A simple Golang bot for the Telegram Bot API

Really simple bot for interacting with the Telegram Bot API, not nearly done yet. Expect frequent breaking changes!

All methods have been added, and all features should be available. If you want a feature that hasn't been added yet, open an issue and I'll see what I can do.

There's a few plugins in here, named as plugin_*.go.

Getting started

After installing all the dependencies, run

go build
./telegram-bot-api -newbot

Fill in any asked information, enable whatever plugins, etc.

Plugins

All plugins implement the Plugin interface.

type Plugin interface {
	GetName() string
	GetCommands() []string
	GetHelpText() []string
	GotCommand(string, Message, []string)
	Setup()
}

GetName should return the plugin's name. This must be unique!

GetCommands should return a slice of strings, each command should look like /help, it must have the forward slash!

GetHelpText should return a slice of strings with each command and usage. You many include any number of items in here.

GotCommand is called when a command is executed for this plugin, the parameters are the command name, the Message struct, and a list of arguments passed to the command. The original text is available in the Message struct.

Setup is called when the bot first starts, if it needs any configuration, ask here.

To add your plugin, you must edit a line of code and then run the go build again.

// current version
plugins = []Plugin{&HelpPlugin{}, &ManagePlugin{}}

// add your own plugins
plugins = []Plugin{&HelpPlugin{}, &FAPlugin{}, &ManagePlugin{}}