99 lines
3.2 KiB
Python
99 lines
3.2 KiB
Python
import logging
|
||
import io
|
||
import base64
|
||
|
||
from aiogram import types
|
||
from aiogram.dispatcher.filters import ChatTypeFilter
|
||
|
||
from load import dp, bot, config
|
||
from keyboards.inline.keyboard import menu
|
||
from parser import get_about_replacements
|
||
from keyboards.inline.donate import donate
|
||
if config.logging_user:
|
||
from database import register
|
||
|
||
|
||
@dp.message_handler(commands=["help"])
|
||
async def help_msg(message: types.Message):
|
||
await bot.send_message(
|
||
message.chat.id,
|
||
(
|
||
"Я всего-лишь небольшой помощник:3\n"
|
||
"Умею работать в чатах, для настройки попросите администратора чата указать группу с помощью команды /set\n"
|
||
"/set - Установить группу, для получения данных о заменах(Работает ТОЛЬКО в чатах)\n"
|
||
"/start /get - получить информацию о заменах\n"
|
||
"[Viber Bot](viber://pa?chatURI=tfk_replace)"
|
||
), parse_mode='Markdown'
|
||
)
|
||
|
||
|
||
@dp.message_handler(ChatTypeFilter(['private']), commands=['start', 'get'])
|
||
async def get_replace(message: types.Message):
|
||
if config.logging_user:
|
||
register(
|
||
user_id=message.from_user.id,
|
||
username=message.from_user.username,
|
||
first_name=str(message.from_user.first_name),
|
||
last_name=message.from_user.last_name
|
||
)
|
||
|
||
link = (
|
||
'<a href="{}">Проверьте замены тут</a>'
|
||
.format(config.bot("link"))
|
||
)
|
||
logging.info("User: {user_id} - {username}".format(
|
||
user_id=str(message.from_user.id),
|
||
username=str(message.from_user.username)
|
||
))
|
||
|
||
try:
|
||
data = get_about_replacements()
|
||
if 'image' in data:
|
||
await bot.send_photo(
|
||
message.chat.id,
|
||
io.BytesIO(
|
||
base64.b64decode(
|
||
data["data"]['all']
|
||
)
|
||
),
|
||
parse_mode="Markdown",
|
||
reply_markup=donate
|
||
)
|
||
return
|
||
await bot.send_message(
|
||
message.chat.id,
|
||
"Замены {date}\n{teacher}\nВыберите свою группу"
|
||
.format(
|
||
date=data["date"].lower(),
|
||
teacher=str(data["another_teacher"]).title()
|
||
),
|
||
reply_markup=menu(data["data"])
|
||
)
|
||
|
||
except Exception as e:
|
||
logging.error(str(e))
|
||
err_msg = (
|
||
"Техничиские шоколадки... "
|
||
f"Скорее всего структура файла была изменена\n{link}"
|
||
)
|
||
await bot.send_message(
|
||
message.chat.id,
|
||
err_msg,
|
||
parse_mode='HTML',
|
||
disable_web_page_preview=True
|
||
)
|
||
|
||
|
||
@dp.message_handler(commands=['link'])
|
||
async def get_link(message: types.Message):
|
||
msg = (
|
||
'<a href="{}">Проверьте замены тут</a>'
|
||
.format(config.bot("link"))
|
||
)
|
||
await bot.send_message(
|
||
message.chat.id,
|
||
msg,
|
||
parse_mode='HTML',
|
||
disable_web_page_preview=True
|
||
)
|