eignatenkov / chgk_bot Goto Github PK
View Code? Open in Web Editor NEWtelegram bot for playing CHGK
telegram bot for playing CHGK
Писать в json-файл информацию о текущем состоянии игр, чтобы при перезапуске бота можно было его восстановить.
We are so outdated right now
Переводы строк, раздаточные материалы, etc.
По команде /nexttour или типа того срубать текущий вопрос (если он играется) и переходить к первому вопросу следующего тура.
http://db.chgk.info/question/bien16.4/2/xml - из комментария пропали [] вокруг Джетро Талл. Надо поиграться с супом.
По команде /search запускать поиск турниров по базе с переданными параметрами
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.
Добавить возможность отвечать без ввода /answer каждый раз.
Выводить информацию по последнему сыгранному вопросу: турнир, тур, номер вопроса.
По /play 50 выдается не пятидесятый турнир, а какой-то другой.
https://db.chgk.info/sites/default/files/kabachok_7_1.jpg - works
https://i.imgur.com/nWZJdVq.jpg -- doesn't work
Если текст вопроса начинается со слова дуплет, задавать по частям, давать по 30 секунд на каждый. Возможно, для половинок будут свои картинки, тоже надо учесть.
Сейчас картинки отправляются как текст со ссылкой, которая открывается только из-за того, что телеграм очень умный. Надо посылать картинкой, будет красивее.
Если во время отыгрыша вопроса пришла команда /ask, старый вопрос срубается, задается новый.
Реализовать команду /broadcast, при вызове которой (если она отправлена с моего id) всем пользователям отправляется сообщение, идущее после команды.
В базе тире, видимо, задается html-тэгом типа —, который вычищается во время очистки текста от тэгов. Надо предварительно заменять на -.
Вынести токены в какие-нибудь параметры, например, внешние, которые не будут лежать в репозитории
сделать все по-взрослому, через классы
В связи с переходом на запуск бота как сервиса надо писать лог в файл, а не в stdout
Похоже, что play путается с ask. Надо переименовать. В game?
Пример - it-кубок, 3 тур 3 вопрос
Поддержать команду /answer, по которой в случае, если был задан вопрос, срубалось время и сразу выводился ответ.
Список турниров должен с какой-то периодичностью обновляться. Например, за счет списка последних турниров.
сделать команду, по которой можно просить давать дополнительную минуту. Срабатывает только до появления ответа.
Вынести весь шлак по инициализации турнира по умолчанию в команду /start. /start должна показывать список последних турниров, инициализироваться самым последним. /Recent - только обновляет список турниров, играющийся сейчас турнир оставляет как был.
В ответ на /ask после того, как был задан 11-й вопрос 1-го тура ОКР-2008 (X кубок) получаем
Выберите турнир - /play [номер турнира]
Сортировать выдачу /search по дате турнира
Там все круто и прям надо пользоваться.
Поддержать возможность перехода по /ask к конкретному вопросу турнира.
Авторы, комментарии, вот это все.
Переписать все уныние в xml-разборе с чистого lxml на BeautifulSoup
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"
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.