Skip to content

GorokuМодули юзербота на Go

Модуль — это структура с именем и командами. У всего остального есть значение по умолчанию.

Модуль целиком

go
package modules

import "goroku/goroku"

type HTML struct{ goroku.Base }

func (m *HTML) Name() string { return "HTML" }

func (m *HTML) Commands() map[string]goroku.CommandHandler {
	return map[string]goroku.CommandHandler{"html": m.HTMLCmd}
}

func (m *HTML) HTMLCmd(msg *goroku.Message) error {
	code := msg.ArgsOrReply()
	if code == "" {
		return msg.Answer(m.T("no_args", "❌ <b>Пришлите текст или ответьте на сообщение</b>"))
	}
	return msg.Answer(code)
}

Это весь файл. .html <b>привет</b> отрисует жирный текст, а .html в ответ на сообщение отрисует его.

Куда дальше

Что нужноЧитать
Быстро получить работающий модульПервый модуль
Понять, зачем каждый методУстройство модуля
Ограничить команду группами, админами, ответамиCommandMeta
Хранить данные между перезапускамиХранилище
Дать пользователю настройкиНастройки
Раздать модуль другимУстановка модуля

Released under the GNU AGPL v3 License.