Skip to content

Commit abb2f39

Browse files
committed
Merge branch 'master' into dependabot/pip/werkzeug-2.2.3
2 parents bea5a15 + 4248f54 commit abb2f39

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+54
-722
lines changed

.dockerignore

100644100755
File mode changed.

.github/workflows/build-push.yaml

100644100755
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ jobs:
2424
uses: docker/setup-buildx-action@v1
2525

2626
- name: Cache Docker layers
27-
uses: actions/cache@v2
27+
uses: actions/cache@v4.2.3
2828
with:
2929
path: /tmp/.buildx-cache
3030
key: erundopel-buildx-${{ github.sha }}
3131
restore-keys: |
3232
erundopel-buildx-
3333
3434
- name: Install doctl
35-
uses: digitalocean/action-doctl@v2
35+
uses: digitalocean/action-doctl@v2.5.1
3636
with:
3737
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
3838

@@ -41,7 +41,7 @@ jobs:
4141

4242
- name: Set short sha
4343
id: vars
44-
run: echo "::set-output name=sha_short::${GITHUB_SHA::7}"
44+
run: echo "sha_short=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
4545

4646
- name: Bump version and tag
4747
id: tag_version
@@ -54,7 +54,7 @@ jobs:
5454

5555
- name: For PR build only
5656
if: ${{ github.event_name == 'pull_request' }}
57-
uses: docker/build-push-action@v2
57+
uses: docker/build-push-action@v6
5858
with:
5959
context: .
6060
push: false
@@ -66,7 +66,7 @@ jobs:
6666

6767
- name: For merge build and push erundopel
6868
if: ${{ github.event_name == 'push' }}
69-
uses: docker/build-push-action@v2
69+
uses: docker/build-push-action@v6
7070
with:
7171
context: .
7272
push: true
@@ -81,9 +81,9 @@ jobs:
8181

8282
- name: Generate changelog
8383
id: changelog
84-
uses: metcalfc/changelog-generator@v1.0.0
84+
uses: metcalfc/changelog-generator@v4
8585
with:
86-
myToken: ${{ secrets.GITHUB_TOKEN }}
86+
mytoken: ${{ secrets.GITHUB_TOKEN }}
8787
base-ref: ${{steps.tag_version.outputs.previous_tag }}
8888

8989
- name: Create Release

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.env
2+
/.idea/
3+
/app/__pycache__/
4+
__init__.py
5+
.ngrok
6+
app/tests/__pycache__/
7+
words.prod.csv

.helmignore

Lines changed: 0 additions & 27 deletions
This file was deleted.

Dockerfile

100644100755
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ RUN apk add --no-cache build-base git\
88
&& apk del build-base git
99
EXPOSE 5000
1010

11-
COPY ./app_new /app
11+
COPY ./app /app
1212
WORKDIR ${DIR}
13-
CMD ["python", "app.py"]
13+
CMD ["python", "app.py"]

OWNERS

100644100755
File mode changed.

OWNERS_ALIASES

100644100755
File mode changed.

README.md

100644100755
File mode changed.

add_words.py

100644100755
File mode changed.

app/app.py

100644100755
Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from prometheus_client import Gauge, Histogram
1111
from prometheus_async import aio
1212

13-
from chatbase import track_message, track_click
1413
from database import db
1514
from settings import *
1615

@@ -61,7 +60,7 @@ class States(Helper):
6160

6261
def get_words():
6362
logging.info('getting new words')
64-
words = db.words.aggregate([{'$sample': {'size': 5}}])
63+
words = db.words.aggregate([{'$sample': {'size': WORDS_COUNT}}])
6564
return list(words)
6665

6766
class Message:
@@ -91,7 +90,6 @@ async def send_pong(alice_request):
9190
async def handle_new_session(alice_request):
9291
m = Message(alice_request)
9392
logging.info(f'Initialized new session!\nuser_id is {m.user_id!r}')
94-
track_message(m.user_id, m.session_id, 'start', m.command, False)
9593
await dp.storage.set_state(m.user_id, States.START)
9694
return alice_request.response(
9795
"Привет! Ерундопель - это игра где нужно угадать "
@@ -114,11 +112,9 @@ async def handle_user_agrees(alice_request):
114112
yes_list = ['давай', 'начать игру', 'да', 'хочу', 'начнем игру', 'еще', 'продолжить']
115113
await dp.storage.reset_state(m.user_id)
116114
if m.command in no_list:
117-
track_message(m.user_id, m.session_id, 'no', m.command, False)
118115
return alice_request.response("Жаль, возвращайтесь как решите сыграть.\n"
119116
"До встречи!",
120117
end_session=True)
121-
track_message(m.user_id, m.session_id, 'start_game', m.command, False)
122118
words = get_words()
123119
await dp.storage.update_data(m.user_id, words_list=words)
124120
words_list = []
@@ -181,15 +177,13 @@ async def handle_hi_alisa(alice_request):
181177
@dp.request_handler(commands=['помощь'])
182178
async def handle_user_help(alice_request):
183179
m = Message(alice_request)
184-
track_message(m.user_id, m.session_id, 'help', m.command, False)
185180
return alice_request.response(
186181
'Скажите номер варианта ответа, "повтори"" или "стоп".',
187182
buttons=choose_buttons)
188183

189184
@dp.request_handler(commands=['помощь', 'что ты умеешь', 'что ты умеешь?'])
190185
async def handle_user_what(alice_request):
191186
m = Message(alice_request)
192-
track_message(m.user_id, m.session_id, 'help', m.command, False)
193187
return alice_request.response(
194188
"Я знаю много редких слов. Могу загадать тебе несколько. Хочешь попробовать?",
195189
buttons=start_buttons)
@@ -212,7 +206,6 @@ async def handle_user_cancel(alice_request):
212206
@dp.request_handler(contains=['дальше', 'следующее', 'следующая', 'следующий'])
213207
async def handle_next(alice_request):
214208
m = Message(alice_request)
215-
track_message(m.user_id, m.session_id, 'next', m.command, False)
216209
data = await dp.storage.get_data(m.user_id)
217210
points = int(data.get('points')) - 1
218211
words = data.get('words_list')
@@ -258,7 +251,6 @@ async def handle_next(alice_request):
258251
"третий", "третий вариант", "три", "3", "3 3"])
259252
async def handle_user_answer(alice_request):
260253
m = Message(alice_request)
261-
track_message(m.user_id, m.session_id, 'choice', m.command, False)
262254
data = await dp.storage.get_data(m.user_id)
263255
words = data.get('words_list')
264256
words_iter = data.get('words')
@@ -302,11 +294,11 @@ async def handle_user_answer(alice_request):
302294
points = int(data.get('points')) + 3
303295
return alice_request.response(
304296
f"{previous_word} это: {right_choice}."
305-
f"Вы ответили на все вопросы.\n"
297+
f"Вы ответили на {WORDS_COUNT} вопросов.\n"
306298
f"Спасибо за игру!\n"
307299
f"Вы набрали очков: {points}\n",
308300
tts='<speaker audio="alice-sounds-game-win-1.opus">'
309-
f"Вы ответили на все вопросы.\n - "
301+
f"Вы ответили на {WORDS_COUNT_TEXT} вопросов.\n - "
310302
f"Спасибо за игру!\n - "
311303
f"Вы набрали очков: {points}\n - ",
312304
end_session=True, buttons=[REVIEW_BUTTON])
@@ -316,7 +308,21 @@ async def handle_user_answer(alice_request):
316308
points = int(data.get('points')) - 1
317309
await dp.storage.update_data(m.user_id, failed=0, points=points)
318310

319-
word = next(words_iter)
311+
try:
312+
word = next(words_iter)
313+
except StopIteration:
314+
points = int(data.get('points')) - 3
315+
return alice_request.response(
316+
f"{previous_word} это: {right_choice}."
317+
f"Вы ответили на {WORDS_COUNT} вопросов.\n"
318+
f"Спасибо за игру!\n"
319+
f"Вы набрали очков: {points}\n",
320+
tts='<speaker audio="alice-sounds-game-win-1.opus">'
321+
f"Вы ответили на {WORDS_COUNT_TEXT} вопросов.\n - "
322+
f"Спасибо за игру!\n - "
323+
f"Вы набрали очков: {points}\n - ",
324+
end_session=True, buttons=[REVIEW_BUTTON])
325+
320326
exp = [element for element in words if element['word'] == word][0]
321327
e1 = exp["e1"]
322328
e2 = exp["e2"]
@@ -364,7 +370,6 @@ async def handle_user_answer(alice_request):
364370
"пожалуйста повтори", "можешь повторить", "можешь повторить?", "да", "ладно"])
365371
async def handle_user_repeat(alice_request):
366372
m = Message(alice_request)
367-
track_message(m.user_id, m.session_id, 'repeat', m.command, False)
368373
data = await dp.storage.get_data(m.user_id)
369374
questions = data.get('questions')
370375
word = data.get('word')
@@ -385,7 +390,6 @@ async def handle_user_repeat(alice_request):
385390
@dp.request_handler()
386391
async def handle_all_other_requests(alice_request):
387392
m = Message(alice_request)
388-
track_message(m.user_id, m.session_id, None, m.command, True)
389393
return alice_request.response(
390394
'Скажите номер варианта (один, два или три), "повтори"" или "стоп".'
391395
)
@@ -396,4 +400,4 @@ async def handle_all_other_requests(alice_request):
396400
app = get_new_configured_app(dispatcher=dp, path=WEBHOOK_URL_PATH)
397401
app.router.add_get("/healthz", health)
398402
app.router.add_get("/metrics", aio.web.server_stats)
399-
web.run_app(app, host=WEBAPP_HOST, port=WEBAPP_PORT)
403+
web.run_app(app, host=WEBAPP_HOST, port=WEBAPP_PORT, loop=dp.loop)

0 commit comments

Comments
 (0)