-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[proposal] Бот для чата #1
Comments
Ещё вопрос: Для бота нужен только интерфейс или вместе с сервером? |
@hulygun не будем переусложнять, пока просто код с ботом, возможные настройки через переменные окружения или небольшую sqlite-базу. Как только будут комплексные фичи, подумаем над сервером. :) |
копипаста моих сообщений из чатика: наверное, ботов нужно несколько (мелких, каждый решает свою задачу) к примеру, было бы полезно, если бы бот мог трекать пакеты pip'а, не только с гитхаба по тегам (как сейчас) в идеале, чтобы он ещё и changelog'и показывать конкретно для каждого пакета это бы сэкономило время то есть мб прямо ссылку на changelog или копипасту оттуда (именно про новую версию) |
@amureki То есть только интерфейс. Переменные окружения будут содержать, наверно, только токены доступа, админов бота и общие настройки. в sqlite, думаю, хорошо бы хранить список "популярных" пакетов. Возможен вариант редиса в качестве базы |
Интересно, ченжлог можно засунуть в Instant View? |
@amureki Поставь ишью на меня. Сегодня-завтра начну писать |
вообще, если бы там был PostgreSQL, допустим, то можно было бы каждому пользователя сделать и через PyCharm бы, например, открывали и делали нужные запросы туда) |
я вижу тут три проекта
это лучше как отдельный проект, то есть отдельный репозиторий, отдельный файл, например, код этого проекта может быть project-code
это тоже лучше как отдельный проект, например, project-packages всё остальное мелкое и может быть, например, в project-common или ещё как-то раздробить на более мелкие проекты у проектов нет никаких пересечений друг с другом, их объединяет лишь то, что они используются в 1 чатике и их пишут примерно те же люди :-) для всех трёх проектов я бы рекомендовал https://github.com/python-telegram-bot/python-telegram-bot потому что тут всё готово, только импортировать и погнали) project-common выглядит как самый простой проект, project-code выглядит как простой, но могут быть сложности и улучшения (например, угадывание типа языка или замена dpaste.de на gist если dpaste.de не работает...) то есть тут начать можно с самого простого и потом постепенно улучшать, есть куда... project-packages является довольно сложным при грамотной реализации и где много куда можно улучшать, ну, первый вариант, не обязательно делать сложным, но это прямо чуть ли не отдельный стартап) при желании он легко превращается если не в стартап, то в полноценный отдельный проект, данный проект требует наличие базы данных, в других случаях вполне можно было бы просто захардкодить в файлах что-то и менять через pull-request'ы (впрочем тут не настаиваю - как удобнее) а вот что можно было бы скопипастить или расшарить между этими проектами - некий workflow для сборки/дестирования/деплоя, первая версия может быть какой угодно, но в будущем, конечно, было бы разумно сделать с тестами и прочим таким) |
Очень плохо. Это либо давать модерам ssh на сервак или разворачивать постгрю жопой наружу. |
да, этот вариант лучше, но он отнимает время на реализацию, т.е. мб было бы проще всего вообще без базы данных пока там, где это возможно... |
БД необязательна, а вот разграничение прав на выполнение тех или иных команд было бы кстати. Заложить ALC на начальном этапе необходимо |
если мы управляем ботами путём редактирования yaml'ов в репозитории проекта, то, наверное, все команды можно сделать доступными для всех) ну, по крайней мере, я не вижу вот прямо чего-то такого, что нельзя было бы дать обычному члену сообщества, не модератору... увидел, что сосед большой фрагмент кода написал в сообщениях - почему бы не дать ему возможность отправить этот код на dpaste.de вместо модератора? если будет злоупотреблять ботом - можно ведь просто в личку написать предупреждение или типа того, будет злоупотреблять - забаним) |
вот что нашёл |
Ладно, пора декомпозировать это всё... попробую разделить на подзадачи |
https://github.com/github/linguist |
в первой версии project-code лучше без этой фичи, просто лишь бы как на dpaste.de выкладывалось (например, всем указывать тип python) а уже потом детектить, там или js или python или django templates будет в большинстве случаев |
Давайте в первую очередь введем команду |
мне без разницы, один из вариантов такой: https://seminar.io/2018/09/03/building-serverless-telegram-bot/ если кто-то хочет поиграться с FaaS, сделайте так, там должно быть платно, но очень дёшево |
Рассматриваем идею для бота.
Предварительные команды
/rules
/faq
- скидывает сообщение с правилами/tutorials
/doc
- кидает ссылки на туториалы, документацию/code
, который чистит сообщение и напоминает о правилах (или копипастит сообщение на dpaste/gist)/python
- ссылки на пайтон коммьюнити/newbie
- ссылка на бегиннерсовПредварительные фичи
Интерфейс/Конфигурация
Простые настройки, константы через переменные окружения.
Вещи вроде ссылок или правил пока можно напрямую закидывать в sqlite-базу (потом подумаем над интерфейсом для админов - через чат или отдельную страничку).
Стек
Открытые вопросы
The text was updated successfully, but these errors were encountered: