This commit is contained in:
Administrator 2023-09-26 10:09:01 +03:00
parent 07fcef826d
commit cf3e77cb02
4 changed files with 71 additions and 25 deletions

View File

@ -9,6 +9,8 @@ services:
TELEGRAM_TOKEN: $TELEGRAM_TOKEN_DEV TELEGRAM_TOKEN: $TELEGRAM_TOKEN_DEV
MONGO_HOST: "mongo.develop.sprinthub.ru" MONGO_HOST: "mongo.develop.sprinthub.ru"
MONGO_PASSWORD: $MONGO_PASSWORD_DEV MONGO_PASSWORD: $MONGO_PASSWORD_DEV
PLATFORM_SECURITY_TOKEN: $PLATFORM_SECURITY_TOKEN
STAGE: "development"
deploy: deploy:
mode: replicated mode: replicated
restart_policy: restart_policy:

View File

@ -9,6 +9,8 @@ services:
TELEGRAM_TOKEN: $TELEGRAM_TOKEN_PROD TELEGRAM_TOKEN: $TELEGRAM_TOKEN_PROD
MONGO_HOST: "mongo.sprinthub.ru" MONGO_HOST: "mongo.sprinthub.ru"
MONGO_PASSWORD: $MONGO_PASSWORD_PROD MONGO_PASSWORD: $MONGO_PASSWORD_PROD
PLATFORM_SECURITY_TOKEN: $PLATFORM_SECURITY_TOKEN
STAGE: "production"
deploy: deploy:
mode: replicated mode: replicated
restart_policy: restart_policy:

View File

@ -4,4 +4,5 @@ WORKDIR /usr/src/app
COPY requirements.txt requirements.txt COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt RUN pip install -r requirements.txt
COPY . . COPY . .
ENV PYTHONUNBUFFERED 1
ENTRYPOINT ["python", "main.py"] ENTRYPOINT ["python", "main.py"]

91
main.py
View File

@ -2,37 +2,82 @@ import os
from random import randrange from random import randrange
import telebot import telebot
from cachetools import TTLCache
from requests import get
from telebot.types import Message from telebot.types import Message
from mongo import mongo from mongo import mongo
from storage import set_values, get_chat_info from storage import set_values, get_chat_info
DEFAULT_ANSWERS = {
"a": "Хуй на!",
"da": "Pizda!",
"а": "Хуй на!",
"200": "Отсоси на месте!",
"300": "Отсоси у тракториста!",
"dа": "Pizda!",
"gde": "V pizde!",
"net": "Pidora otvet!",
"дa": "Пизда!",
"чe": "Хуй через плечо!",
"чo": "Хуй через плечо!",
"gdе": "V pizde!",
"heт": "Пидора ответ!",
"nеt": "Pidora otvet!",
"да": "Пизда!",
"че": "Хуй через плечо!",
"чо": "Хуй через плечо!",
"чё": "Хуй через плечо!",
"hет": "Пидора ответ!",
"гдe": "В пизде!",
"нeт": "Пидора ответ!",
"ага": "В жопе нога!",
"где": "В пизде!",
"как": "Жопой об косяк!",
"кто": "Конь в пальто!",
"нет": "Пидора ответ!",
"ога": "В жопе нога!",
"опа": "Срослась пизда и жопа!",
"угу": "Иди в пизду!",
"слыш": "За углом поссышь!",
"ладно": "Прохладно!",
"слышь": "За углом поссышь!",
"двести": "Отсоси на месте!",
"триста": "Отсоси у тракториста!",
"здрасте": "Пизду покрасьте!",
"здрасьте": "Пизду покрасьте!"
}
bot = telebot.TeleBot(os.getenv("TELEGRAM_TOKEN")) bot = telebot.TeleBot(os.getenv("TELEGRAM_TOKEN"))
security_token = os.getenv("PLATFORM_SECURITY_TOKEN")
stage = os.getenv("STAGE")
all_letters = "йцукенгшщзхъёфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪЁФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890 " all_letters = "йцукенгшщзхъёфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪЁФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890 "
answers = [ CACHE_CONFIG = TTLCache(1, 60)
[{"да", "дa"}, "Пизда!"],
[{"da", "dа"}, "Pizda!"],
[{'нет', 'нeт', 'hет', 'heт'}, "Пидора ответ!"], def get_answers():
[{"net", "nеt"}, "Pidora otvet!"], answers = CACHE_CONFIG.get('answers')
[{"где", "гдe"}, "В пизде!"], if answers is None:
[{"gde", "gdе"}, "V pizde!"], answers_response = get(
[{"300", "триста"}, "Отсоси у тракториста!"], 'https://platform.sprinthub.ru/configs/get',
[{"a", "а"}, "Хуй на!"], headers={'X-Security-Token': security_token},
[{"че", "чё", "чe", "чо", "чo"}, "Хуй через плечо!"], params={
[{"ага", "ога"}, "В жопе нога!"], 'project': "Pizda Bot",
[{"как"}, "Жопой об косяк!"], 'stage': stage,
[{"кто"}, "Конь в пальто!"], 'name': "answers"
[{"200", "двести"}, "Отсоси на месте!"], }
[{"слышь", "слыш"}, "За углом поссышь!"], )
[{"здрасте", "здрасьте"}, "Пизду покрасьте!"], if answers_response.status_code != 200:
[{"ладно"}, "Прохладно!"], print("ERROR")
[{"угу"}, "Иди в пизду!"], return DEFAULT_ANSWERS
[{"опа"}, "Срослась пизда и жопа!"] answers = answers_response.json()
] CACHE_CONFIG['answers'] = answers
return answers
@bot.message_handler(commands=['setprobability']) @bot.message_handler(commands=['setprobability'])
@ -76,11 +121,7 @@ def do_action(message: Message):
convert_text = convert_text[-1] convert_text = convert_text[-1]
else: else:
return return
ans = None ans = get_answers().get(convert_text)
for key, value in answers:
if convert_text in key:
ans = value
break
if ans is not None and randrange(1, 101) <= info["probability"]: if ans is not None and randrange(1, 101) <= info["probability"]:
bot.reply_to(message, ans) bot.reply_to(message, ans)
mongo.inc(message.from_user.username, message.chat.id) mongo.inc(message.from_user.username, message.chat.id)