summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-10-15 19:57:34 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-10-15 19:57:34 +0400
commit3562ed767dbddfbcac321c7006962e1283eb63af (patch)
treeb42e18d7513eda62ad8ddeabe96cf4ebc109f56d
parenta9f89b6a3fd22da90b58d3f2353b5965957531a3 (diff)
add files for rye project manager
-rw-r--r--.gitignore2
-rw-r--r--.python-version1
-rw-r--r--bot.py2
-rw-r--r--config.example.py3
-rw-r--r--pyproject.toml26
-rw-r--r--requirements-dev.lock35
-rw-r--r--requirements.lock35
-rw-r--r--requirements.txt13
-rw-r--r--rules.jpgbin3721798 -> 0 bytes
-rw-r--r--src/basealt_bot_frontend/__init__.py2
-rw-r--r--states.py28
11 files changed, 117 insertions, 30 deletions
diff --git a/.gitignore b/.gitignore
index 1cace06..14e0a5f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/bot.py b/bot.py
index 2218c48..37e0ac8 100644
--- a/bot.py
+++ b/bot.py
@@ -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
deleted file mode 100644
index e0032a3..0000000
--- a/rules.jpg
+++ /dev/null
Binary files differ
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!"
diff --git a/states.py b/states.py
index 316357f..afb00cb 100644
--- a/states.py
+++ b/states.py
@@ -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(
"Ты ввел правильный ответ! Возвращаемся в главное меню."
)