eignatenkov / chgk_bot Goto Github PK
View Code? Open in Web Editor NEWtelegram bot for playing CHGK
telegram bot for playing CHGK
Авторы, комментарии, вот это все.
сделать все по-взрослому, через классы
Реализовать команду /broadcast, при вызове которой (если она отправлена с моего id) всем пользователям отправляется сообщение, идущее после команды.
В базе тире, видимо, задается html-тэгом типа —, который вычищается во время очистки текста от тэгов. Надо предварительно заменять на -.
Пример - it-кубок, 3 тур 3 вопрос
Если текст вопроса начинается со слова дуплет, задавать по частям, давать по 30 секунд на каждый. Возможно, для половинок будут свои картинки, тоже надо учесть.
Выводить информацию по последнему сыгранному вопросу: турнир, тур, номер вопроса.
Сортировать выдачу /search по дате турнира
сделать команду, по которой можно просить давать дополнительную минуту. Срабатывает только до появления ответа.
https://db.chgk.info/sites/default/files/kabachok_7_1.jpg - works
https://i.imgur.com/nWZJdVq.jpg -- doesn't work
Вынести токены в какие-нибудь параметры, например, внешние, которые не будут лежать в репозитории
Список турниров должен с какой-то периодичностью обновляться. Например, за счет списка последних турниров.
Вынести весь шлак по инициализации турнира по умолчанию в команду /start. /start должна показывать список последних турниров, инициализироваться самым последним. /Recent - только обновляет список турниров, играющийся сейчас турнир оставляет как был.
http://db.chgk.info/question/umpal16.3/6, ответ не выводится.
telegram.error.BadRequest: "Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 388"
Добавить возможность отвечать без ввода /answer каждый раз.
Сейчас картинки отправляются как текст со ссылкой, которая открывается только из-за того, что телеграм очень умный. Надо посылать картинкой, будет красивее.
По команде /nexttour или типа того срубать текущий вопрос (если он играется) и переходить к первому вопросу следующего тура.
Там все круто и прям надо пользоваться.
Если во время отыгрыша вопроса пришла команда /ask, старый вопрос срубается, задается новый.
Dear Egor, I'm a huge fan of your bot. What do you think about the following feature? I'd be happy to submit a PR. You might also have better ideas about the implemention.
Feature. Bring up specific messages with /message <message-id>
.
Use case. A want to share the questions I liked with my team chat and let them play.
Переписать все уныние в xml-разборе с чистого lxml на BeautifulSoup
Переводы строк, раздаточные материалы, etc.
Писать в json-файл информацию о текущем состоянии игр, чтобы при перезапуске бота можно было его восстановить.
We are so outdated right now
Похоже, что play путается с ask. Надо переименовать. В game?
По команде /search запускать поиск турниров по базе с переданными параметрами
По /play 50 выдается не пятидесятый турнир, а какой-то другой.
В ответ на /ask после того, как был задан 11-й вопрос 1-го тура ОКР-2008 (X кубок) получаем
Выберите турнир - /play [номер турнира]
Поддержать возможность перехода по /ask к конкретному вопросу турнира.
http://db.chgk.info/question/bien16.4/2/xml - из комментария пропали [] вокруг Джетро Талл. Надо поиграться с супом.
Поддержать команду /answer, по которой в случае, если был задан вопрос, срубалось время и сразу выводился ответ.
В связи с переходом на запуск бота как сервиса надо писать лог в файл, а не в stdout
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.