-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShortStory.py
More file actions
56 lines (51 loc) · 2.6 KB
/
ShortStory.py
File metadata and controls
56 lines (51 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from aiogram import Bot
from aiogram.types import BotCommand
from aiogram.utils import executor
from handlers.system.createBot import cursor, dp
from handlers.system.mainAdminID import writeAdminID
from handlers.system import notFoundUsers
from keyboards import choosingStoryActionKB, choosingStoryActionAdminKB
# Список команд
commands = [
BotCommand(command='/start', description='⭕️ Перезагрузка'),
]
# Добавление команд в контекстное меню чата
async def setCommands():
bot = Bot.get_current()
await bot.set_my_commands(commands)
# Уведомление о запуске бота / Функция перезагрузки меню пользователя
async def onStart(dp):
print('The bot is working!')
# Список пользователей не использующих бота
usersList = []
# Добавление главного администратора в базу данных администраторов
await writeAdminID()
# Добавление команд в контекстное меню чата
await setCommands()
# Обращение к базе данных
cursor.execute('SELECT user_id FROM users')
users = cursor.fetchall()
for user in users:
user_id = user[0]
# Проверка, является ли пользователь администратором
cursor.execute('SELECT user_id FROM administration WHERE user_id = ?', (user_id,))
adminData = cursor.fetchone()
try:
# Пользователь является администратором
if adminData:
keyboard = choosingStoryActionAdminKB
# Пользователь не является администратором
else:
keyboard = choosingStoryActionKB
photo = open('resources/images/updateStartBot.png', 'rb')
await dp.bot.send_photo(user_id, photo=photo, caption="Главное меню", reply_markup=keyboard, disable_notification=True)
except Exception as e:
print(f"Ошибка отправки сообщения пользователю {user_id}: {e}")
usersList.append(f"Ошибка отправки сообщения пользователю {user_id}: {e}")
# Отчёт о пользователях
await notFoundUsers(usersList, dp)
# Системы
from handlers import client, admin
client.client_handlers_register(dp)
admin.admin_handlers_register(dp)
executor.start_polling(dp, skip_updates=False, on_startup=onStart)