diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2024-10-15 19:57:34 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2024-10-15 19:57:34 +0400 |
| commit | 3562ed767dbddfbcac321c7006962e1283eb63af (patch) | |
| tree | b42e18d7513eda62ad8ddeabe96cf4ebc109f56d | |
| parent | a9f89b6a3fd22da90b58d3f2353b5965957531a3 (diff) | |
add files for rye project manager
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | .python-version | 1 | ||||
| -rw-r--r-- | bot.py | 2 | ||||
| -rw-r--r-- | config.example.py | 3 | ||||
| -rw-r--r-- | pyproject.toml | 26 | ||||
| -rw-r--r-- | requirements-dev.lock | 35 | ||||
| -rw-r--r-- | requirements.lock | 35 | ||||
| -rw-r--r-- | requirements.txt | 13 | ||||
| -rw-r--r-- | rules.jpg | bin | 3721798 -> 0 bytes | |||
| -rw-r--r-- | src/basealt_bot_frontend/__init__.py | 2 | ||||
| -rw-r--r-- | states.py | 28 |
11 files changed, 117 insertions, 30 deletions
@@ -1,5 +1,7 @@ .* !.gitignore +!.dockerignore +!.python-version logs __pycache__ config.py diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..7671800 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.8.20 @@ -23,7 +23,7 @@ def start(bot: Bot, update: Update, user_data: dict): user_data.update({"chosen_task": None}) update.message.reply_text( - "Квиз для дня работодателей", + "Квиз Базальт СПО на День работодателя КНиИТ СГУ", reply_markup=ReplyKeyboardRemove() ) diff --git a/config.example.py b/config.example.py new file mode 100644 index 0000000..ba0e5bc --- /dev/null +++ b/config.example.py @@ -0,0 +1,3 @@ +TG_TOKEN = "" +REQUEST_KWARGS = {} +BACKEND_URL = "http://localhost:8000" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e9088fd --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,26 @@ +[project] +name = "basealt-bot-frontend" +version = "0.1.0" +description = "Add your description here" +authors = [ + { name = "Andrew Guschin", email = "guschin@altlinux.org" } +] +dependencies = [ + "python-telegram-bot==12.3.0", + "requests==2.22.0", +] +requires-python = ">= 3.8" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.rye] +managed = true +dev-dependencies = [] + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["src/basealt_bot_frontend"] diff --git a/requirements-dev.lock b/requirements-dev.lock new file mode 100644 index 0000000..a600326 --- /dev/null +++ b/requirements-dev.lock @@ -0,0 +1,35 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false +# generate-hashes: false +# universal: false + +-e file:. +certifi==2024.8.30 + # via python-telegram-bot + # via requests +cffi==1.17.1 + # via cryptography +chardet==3.0.4 + # via requests +cryptography==43.0.1 + # via python-telegram-bot +future==1.0.0 + # via python-telegram-bot +idna==2.8 + # via requests +pycparser==2.22 + # via cffi +python-telegram-bot==12.3.0 + # via basealt-bot-frontend +requests==2.22.0 + # via basealt-bot-frontend +tornado==6.4.1 + # via python-telegram-bot +urllib3==1.25.8 + # via requests diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 0000000..a600326 --- /dev/null +++ b/requirements.lock @@ -0,0 +1,35 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false +# generate-hashes: false +# universal: false + +-e file:. +certifi==2024.8.30 + # via python-telegram-bot + # via requests +cffi==1.17.1 + # via cryptography +chardet==3.0.4 + # via requests +cryptography==43.0.1 + # via python-telegram-bot +future==1.0.0 + # via python-telegram-bot +idna==2.8 + # via requests +pycparser==2.22 + # via cffi +python-telegram-bot==12.3.0 + # via basealt-bot-frontend +requests==2.22.0 + # via basealt-bot-frontend +tornado==6.4.1 + # via python-telegram-bot +urllib3==1.25.8 + # via requests diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 039891d..0000000 --- a/requirements.txt +++ /dev/null @@ -1,13 +0,0 @@ -certifi==2019.11.28 -cffi==1.17.1 -chardet==3.0.4 -cryptography==43.0.1 -future==0.18.2 -idna==2.8 -pycparser==2.19 -PySocks==1.7.1 -python-telegram-bot==12.3.0 -requests==2.22.0 -six==1.14.0 -tornado==6.0.3 -urllib3==1.25.8 diff --git a/rules.jpg b/rules.jpg Binary files differdeleted file mode 100644 index e0032a3..0000000 --- a/rules.jpg +++ /dev/null diff --git a/src/basealt_bot_frontend/__init__.py b/src/basealt_bot_frontend/__init__.py new file mode 100644 index 0000000..4268070 --- /dev/null +++ b/src/basealt_bot_frontend/__init__.py @@ -0,0 +1,2 @@ +def hello() -> str: + return "Hello from basealt-bot-frontend!" @@ -141,10 +141,11 @@ class States: update.message.reply_text("\n".join(menu_text), parse_mode="Markdown") - update.message.reply_text( - "*У тебя решены все задачи! Подойди к нам, чтобы получить приз.*", - parse_mode="Markdown" - ) + if solved: + update.message.reply_text( + "*У тебя решены все задачи! Подойди к нам, чтобы получить приз.*", + parse_mode="Markdown" + ) update.message.reply_text( "Выбери следующее действие...", @@ -239,16 +240,11 @@ class States: @staticmethod @save_state def rules(bot: Bot, update: Update, user_data: dict): - r = """Вот несколько ПрАвИл, которые следует соблюдать, мой ДоРоГоЙ друг: -1) После того, как появится задача, у тебя есть целых 24 часа, чтобы решить её! Затем она закроется и получить за неё баллы будет нельзя. -2) Пожалуйста, постарайся решить каждую задачу самостоятельно и никому не подсказывать, ведь так гораздно интереснее решать! -3) Каждая задача может отличаться от другой своей сложностью, так что если у тебя не получается одолеть эту задачу, попробуй решить следующую! -4) В любой момент ты можешь посмотреть Топ-10 лучших участников квиза! -5) Помни - чем скорее ты решишь задачу, тем больше получишь за неё баллов, а значит, приблизишься к победе! -6) Ближе к концу недели, а именно ко дню рождения факультета - 28 февраля - станут известны результаты и имя победителя! Не волнуйся, вся информация об этом будет в группе КНиИТа: https://vk.com/sgu_kniit или https://vk.com/20yearscsit -7) Награждение будет проходить в процессе мероприятия, поэтому приглашаем вас 28-го февраля в 10 корпус СГУ на ул. Астраханской, начало - 16.00 -8) Если возникнут какие-то проблемы с задачами или с отправкой ответа, нажми "Задать вопрос" и опиши свою проблему, наша администрация ответит тебе в ближайшее время! -9) Если возникнут проблемы с интерфейсом, попробуй написать /stop, а затем /start, чтобы я перезапустился""" + r = """Вот несколько правил, которые следует соблюдать: +1) Всего в квизе 5 задач - после решения который можно получить призы. +2) Пожалуйста, постарайся решить каждую задачу самостоятельно и никому не подсказывать! +3) Если есть какие-то вопросы к нам, либо проблемы с задачами, нажми "Связаться с Базальт СПО" и напиши свой вопрос, мы ответим тебе в ближайшее время! +4) Если возникнут проблемы с интерфейсом, попробуй написать /stop, а затем /start, чтобы общение с ботом перезапустилось. Прогресс решённых задач никуда не пропадёт.""" # with open("rules.jpg", "rb") as f: # try: # print(update.message.reply_photo(f, timeout=5)) @@ -358,9 +354,9 @@ class States: answer = update.message.text status_code, task = backend_api.get_task(user_data["chosen_task"]) if status_code == 200: - backend_api.create_attempt(update.message.from_user.id, user_data["chosen_task"], answer) + backend_api.create_attempt(update.message.from_user.id, user_data["chosen_task"], answer.lower()) - if answer == task["answer"]: + if answer.lower() == task["answer"].lower(): update.message.reply_text( "Ты ввел правильный ответ! Возвращаемся в главное меню." ) |