В других библиотеках, которыми я вдохновляюсь при создании этого модуля, присутствует полезный механизм фильтров. Благодаря этому можно ограничить возможные источники команд (или событий).
Фильтры должны покрывать как можно больше видов информации.
API будет примерно следующим:
filter := filters.NewFilter().PeerId(2000000001).DateF(filter.Before(time.Hour)).TextF(func(text string) bool { return text == "hello" })
// или сокращённо
filter := filters.PeerId(2000000001)
// или через старый способ
filter := vkc.Text("hello")
Фильтры будут принимать все объекты библиотеки, которые работают с событиями VK или потоками данных. Над итоговой реализацией я ещё подумаю.
В других библиотеках, которыми я вдохновляюсь при создании этого модуля, присутствует полезный механизм фильтров. Благодаря этому можно ограничить возможные источники команд (или событий).
Фильтры должны покрывать как можно больше видов информации.
API будет примерно следующим:
Фильтры будут принимать все объекты библиотеки, которые работают с событиями VK или потоками данных. Над итоговой реализацией я ещё подумаю.