add tests, some fixes
This commit is contained in:
26
main.py
26
main.py
@@ -4,9 +4,7 @@ import sys
|
||||
from pathlib import Path
|
||||
from time import sleep
|
||||
from enum import Enum
|
||||
from typing import Any
|
||||
from apscheduler.schedulers.background import BackgroundScheduler
|
||||
from db import BotDB
|
||||
from database.db import BotDB
|
||||
import telebot
|
||||
import random
|
||||
from datetime import datetime, timedelta
|
||||
@@ -37,7 +35,7 @@ LOGS = config.getboolean('Settings', 'logs')
|
||||
TEST = config.getboolean('Settings', 'test')
|
||||
|
||||
# Инициализируем бота и базку
|
||||
BotDB = BotDB()
|
||||
BotDB = BotDB(name='tg-bot-database')
|
||||
|
||||
|
||||
class State(Enum):
|
||||
@@ -134,10 +132,17 @@ class TelegramHelperBot:
|
||||
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
|
||||
item1 = types.KeyboardButton("Выйти из чата")
|
||||
markup.add(item1)
|
||||
message_id = message.reply_to_message.id
|
||||
message_id = 0
|
||||
try:
|
||||
message_id = message.reply_to_message.id
|
||||
except AttributeError:
|
||||
self.bot.send_message(message.chat.id, f'Блять, выдели сообщение!')
|
||||
message_from_admin = message.text
|
||||
chat_id = BotDB.get_user_by_message_id(message_id)
|
||||
self.bot.send_message(chat_id, message_from_admin, reply_markup=markup)
|
||||
try:
|
||||
chat_id = BotDB.get_user_by_message_id(message_id)
|
||||
self.bot.send_message(chat_id, message_from_admin, reply_markup=markup)
|
||||
except TypeError:
|
||||
self.bot.send_message(message.chat.id, f'Не могу найти кому ответить в базе, проебали сообщение.')
|
||||
|
||||
# Админка
|
||||
@self.bot.callback_query_handler(func=lambda call: call.data in ['publish', 'decline'])
|
||||
@@ -212,6 +217,7 @@ class TelegramHelperBot:
|
||||
def unban_notifier(self):
|
||||
# Получение сегодняшней даты в формате DD-MM-YYYY
|
||||
current_date = datetime.now()
|
||||
print('Мы в функции unban_notifier')
|
||||
today = current_date.strftime("%d-%m-%Y")
|
||||
# Получение списка разблокированных пользователей
|
||||
unblocked_users = BotDB.get_users_for_unblock_today(today)
|
||||
@@ -369,7 +375,7 @@ class TelegramHelperBot:
|
||||
)
|
||||
current_date = datetime.now()
|
||||
date = current_date.strftime("%Y-%m-%d %H:%M:%S")
|
||||
BotDB.add_new_message_in_db(message.text, message.message_id + 1, message.from_user.id, date)
|
||||
BotDB.add_new_message_in_db(message.text, message.from_user.id, message.message_id + 1, date)
|
||||
question = messages.get_message(self.__get_first_name(message), 'QUESTION')
|
||||
markup = self.get_reply_keyboard(message)
|
||||
self.bot.send_message(message.chat.id, question, parse_mode='html', disable_web_page_preview=not PREVIEW_LINK,
|
||||
@@ -543,7 +549,7 @@ class TelegramHelperBot:
|
||||
return formatted_date
|
||||
|
||||
@staticmethod
|
||||
def create_keyboard_with_pagination(page: int, total_items: int, array_items: list[tuple[Any, Any]], callback: str):
|
||||
def create_keyboard_with_pagination(page: int, total_items: int, array_items: list[tuple[any, any]], callback: str):
|
||||
"""
|
||||
Создает клавиатуру с пагинацией для заданного набора элементов и устанавливает необходимый callback
|
||||
|
||||
@@ -636,6 +642,6 @@ if __name__ == "__main__":
|
||||
bot.start()
|
||||
|
||||
#scheduler = BackgroundScheduler()
|
||||
#scheduler.add_job(bot.unban_notifier(), 'cron', hour=0, minute=0)
|
||||
#scheduler.add_job(bot.unban_notifier(), 'cron', hour=22, minute=9)
|
||||
#scheduler.start()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user