telegram-bot-api/README.md

55 lines
1.6 KiB
Markdown
Raw Normal View History

2015-06-26 05:49:24 +02:00
# Golang Telegram bot using the Bot API
2015-06-25 07:40:42 +02:00
A simple Golang bot for the Telegram Bot API
2015-06-26 05:49:24 +02:00
Really simple bot for interacting with the Telegram Bot API, not nearly done yet. Expect frequent breaking changes!
2015-06-25 07:40:42 +02:00
2015-06-26 05:49:24 +02:00
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.
2015-06-25 07:40:42 +02:00
2015-06-26 05:49:24 +02:00
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.
```go
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.
```go
// current version
plugins = []Plugin{&HelpPlugin{}, &ManagePlugin{}}
// add your own plugins
plugins = []Plugin{&HelpPlugin{}, &FAPlugin{}, &ManagePlugin{}}
```