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
MONGO_HOST: "mongo.develop.sprinthub.ru"
MONGO_PASSWORD: $MONGO_PASSWORD_DEV
PLATFORM_SECURITY_TOKEN: $PLATFORM_SECURITY_TOKEN
STAGE: "development"
deploy:
mode: replicated
restart_policy:

View File

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

View File

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

91
main.py
View File

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