fixed source code!
This commit is contained in:
parent
c5a8fed76f
commit
6a435cfcbd
|
@ -6,6 +6,7 @@ from aiogram.types import Message, CallbackQuery, InlineKeyboardMarkup, InlineKe
|
|||
|
||||
from bozenka.database.tables.telegram import TelegramChatSettings
|
||||
from bozenka.features.main import BasicFeature
|
||||
from bozenka.instances.telegram.filters import IsSettingEnabled
|
||||
from bozenka.instances.telegram.utils.callbacks_factory import RevokeCallbackData, DeleteMenu
|
||||
|
||||
|
||||
|
@ -85,7 +86,7 @@ class Invite(BasicFeature):
|
|||
# List of aiogram handlers
|
||||
telegram_message_handlers = [
|
||||
# Format is [Handler, [Filters]]
|
||||
[telegram_invite_command_handler, [Command(commands=["invite"])]]
|
||||
[telegram_invite_command_handler, [Command(commands=["invite"]), IsSettingEnabled(telegram_db_name)]]
|
||||
]
|
||||
telegram_callback_handlers = [
|
||||
# Format is [Handler, [Filters]]
|
||||
|
|
|
@ -9,7 +9,7 @@ from sqlalchemy.ext.asyncio import async_sessionmaker
|
|||
from bozenka.database.tables.telegram import get_chat_config_value, TelegramChatSettings
|
||||
from bozenka.features.main import BasicFeature
|
||||
from bozenka.instances.telegram.utils.callbacks_factory import UnbanData, BanData, UnmuteData, MuteData, DeleteMenu
|
||||
from bozenka.instances.telegram.filters import IsAdminFilter, BotHasPermissions, UserHasPermissions
|
||||
from bozenka.instances.telegram.filters import IsAdminFilter, BotHasPermissions, UserHasPermissions, IsSettingEnabled
|
||||
from bozenka.instances.telegram.utils.delete import delete_keyboard
|
||||
from bozenka.instances.telegram.utils.simpler import SolutionSimpler
|
||||
|
||||
|
@ -578,17 +578,19 @@ class Moderation(BasicFeature):
|
|||
# Format is [Handler, [Filters]]
|
||||
[telegram_ban_cmd_handler, [Command(commands="ban"),
|
||||
IsAdminFilter(True, True), F.reply_to_message.text,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE)]], IsSettingEnabled(telegram_db_name)
|
||||
[telegram_unban_cmd_handler, [Command(commands="unban"),
|
||||
IsAdminFilter(True, True), F.reply_to_message.text,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE),
|
||||
IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_mute_cmd_handler, [Command(commands=["mute", "re"]),
|
||||
UserHasPermissions(["can_restrict_members"]),
|
||||
BotHasPermissions(["can_restrict_members"]), ~(F.chat.type == ChatType.PRIVATE), F.reply_to_message.text]],
|
||||
BotHasPermissions(["can_restrict_members"]), ~(F.chat.type == ChatType.PRIVATE), F.reply_to_message.text,
|
||||
IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_unmute_cmd_handler, [Command(commands=["unmute"]),
|
||||
UserHasPermissions(["can_restrict_members"]),
|
||||
BotHasPermissions(["can_restrict_members"]),
|
||||
~(F.chat.type == ChatType.PRIVATE), F.reply_to_message.text]],
|
||||
~(F.chat.type == ChatType.PRIVATE), F.reply_to_message.text, IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_help_ban_handler,
|
||||
[Command(commands="ban"), IsAdminFilter(True, True), ~(F.chat.type == ChatType.PRIVATE)]],
|
||||
[telegram_help_unban_handler,
|
||||
|
|
|
@ -6,7 +6,7 @@ from aiogram.types import Message, CallbackQuery, InlineKeyboardButton, InlineKe
|
|||
from bozenka.database.tables.telegram import TelegramChatSettings
|
||||
from bozenka.features.main import BasicFeature
|
||||
from bozenka.instances.telegram.utils.callbacks_factory import PinMsg, UnpinMsg, DeleteMenu
|
||||
from bozenka.instances.telegram.filters import UserHasPermissions, BotHasPermissions, IsAdminFilter
|
||||
from bozenka.instances.telegram.filters import UserHasPermissions, BotHasPermissions, IsAdminFilter, IsSettingEnabled
|
||||
from bozenka.instances.telegram.utils.delete import delete_keyboard
|
||||
from bozenka.instances.telegram.utils.simpler import SolutionSimpler
|
||||
|
||||
|
@ -162,17 +162,17 @@ class Pins(BasicFeature):
|
|||
# Format is [Handler, [Filters]]
|
||||
[telegram_pin_cmd, [Command(commands="pin"), UserHasPermissions(["can_pin_messages"]),
|
||||
BotHasPermissions(["can_pin_messages"]), F.reply_to_message,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_unpin_cmd, [Command(commands="unpin"), UserHasPermissions(["can_pin_messages"]),
|
||||
BotHasPermissions(["can_pin_messages"]), F.reply_to_message,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
[telegram_unpinall_cmd, [Command(commands="unpin_all"), IsAdminFilter(True, False),
|
||||
BotHasPermissions(["can_pin_messages"]), F.reply_to_message.text,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_help_pin_cmd, [Command(commands="pin"), UserHasPermissions(["can_pin_messages"]),
|
||||
BotHasPermissions(["can_pin_messages"]), ~(F.chat.type == ChatType.PRIVATE)]],
|
||||
[telegramm_help_unpin_cmd, [Command(commands="unpin"), UserHasPermissions(["can_pin_messages"]),
|
||||
BotHasPermissions(["can_pin_messages"]), ~(F.chat.type == ChatType.PRIVATE)]]
|
||||
BotHasPermissions(["can_pin_messages"]), ~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]]
|
||||
|
||||
]
|
||||
telegram_callback_handlers = [
|
||||
|
|
|
@ -6,7 +6,7 @@ from aiogram.types import Message, CallbackQuery, InlineKeyboardButton, InlineKe
|
|||
from bozenka.database.tables.telegram import TelegramChatSettings
|
||||
from bozenka.features.main import BasicFeature
|
||||
from bozenka.instances.telegram.utils.callbacks_factory import CloseThread, OpenThread, DeleteMenu
|
||||
from bozenka.instances.telegram.filters import UserHasPermissions, BotHasPermissions
|
||||
from bozenka.instances.telegram.filters import UserHasPermissions, BotHasPermissions, IsSettingEnabled
|
||||
from bozenka.instances.telegram.utils.delete import delete_keyboard
|
||||
from bozenka.instances.telegram.utils.simpler import SolutionSimpler
|
||||
|
||||
|
@ -175,27 +175,27 @@ class Threads(BasicFeature):
|
|||
[telegram_close_topic_cmd_handler, [Command(commands=["close_topic", "close"]),
|
||||
UserHasPermissions(["can_manage_topics"]),
|
||||
BotHasPermissions(["can_manage_topics"]), F.chat.is_forum,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_reopen_topic_cmd_handler, [Command(commands=["reopen_topic", "open_topic", "open"]),
|
||||
UserHasPermissions(["can_manage_topics"]),
|
||||
BotHasPermissions(["can_manage_topics"]), F.chat.is_forum,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_close_general_topic_cmd_handler, [Command(commands=["close_general"]),
|
||||
UserHasPermissions(["can_manage_topics"]),
|
||||
BotHasPermissions(["can_manage_topics"]),
|
||||
F.chat.is_forum]],
|
||||
F.chat.is_forum], IsSettingEnabled(telegram_db_name)],
|
||||
[telegram_reopen_general_topic_cmd, [Command(commands=["reopen_general", "open_general"]),
|
||||
UserHasPermissions(["can_manage_topics"]),
|
||||
BotHasPermissions(["can_manage_topics"]), F.chat.is_forum,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_hide_general_topic_cmd_handler, [Command(commands=["hide_general"]),
|
||||
UserHasPermissions(["can_manage_topics"]),
|
||||
BotHasPermissions(["can_manage_topics"]), F.chat.is_forum,
|
||||
~(F.chat.type == ChatType.PRIVATE)]],
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_unhide_general_topic_cmd, [Command(commands=["unhide_general", "show_general"]),
|
||||
UserHasPermissions(["can_manage_topics"]),
|
||||
BotHasPermissions(["can_manage_topics"]), F.chat.is_forum,
|
||||
~(F.chat.type == ChatType.PRIVATE)]]
|
||||
~(F.chat.type == ChatType.PRIVATE), IsSettingEnabled(telegram_db_name)]]
|
||||
]
|
||||
telegram_callback_handlers = [
|
||||
[telegram_close_thread_callback_handler, [CloseThread.filter()]],
|
||||
|
|
|
@ -12,6 +12,7 @@ from bozenka.database.tables.telegram import TelegramChatSettings
|
|||
from bozenka.features.main import BasicFeature
|
||||
from bozenka.generative import image_generative_size, image_generative_categories
|
||||
from bozenka.generative.kadinsky import kadinsky_gen
|
||||
from bozenka.instances.telegram.filters import IsSettingEnabled
|
||||
from bozenka.instances.telegram.utils.callbacks_factory import ImageGenerationCategory, ImageGeneration, DeleteMenu, \
|
||||
GptStop
|
||||
from bozenka.instances.telegram.utils.delete import delete_keyboard
|
||||
|
@ -192,7 +193,7 @@ class ImageGeneratrion(BasicFeature):
|
|||
telegram_cmd_avaible = True # Is a feature have a commands
|
||||
telegram_message_handlers = [
|
||||
[telegram_kadinsky_generating_handler, [GeneratingImages.ready_to_generate, ~Command(commands=["cancel"])]],
|
||||
[telegram_imagine_handler, [Command(commands=["imagine"])]]
|
||||
[telegram_imagine_handler, [Command(commands=["imagine"]), IsSettingEnabled(telegram_db_name)]]
|
||||
]
|
||||
telegram_callback_handlers = [
|
||||
[telegram_select_image_size_handler, [ImageGenerationCategory.filter()]],
|
||||
|
|
|
@ -449,7 +449,7 @@ class TextGeneratrion(BasicFeature):
|
|||
if call.from_user.id != callback_data.user_id:
|
||||
return
|
||||
|
||||
await state.update_data(set_model=callback_data.model)
|
||||
await state.update_data(model=callback_data.model)
|
||||
await state.set_state(AnsweringGPT4Free.ready_to_answer)
|
||||
|
||||
await call.answer("Вы можете начать общаться 🤖")
|
||||
|
@ -493,7 +493,7 @@ class TextGeneratrion(BasicFeature):
|
|||
level=logging.INFO)
|
||||
|
||||
if type(callback_data) == GptCategory:
|
||||
await state.update_data(set_category=callback_data.category)
|
||||
await state.update_data(category=callback_data.category)
|
||||
|
||||
await call.answer("Вы выбрали Gpt4Free 🤖")
|
||||
await call.message.edit_text("Выберите, по какому пункту мы будем вести диалог с нейронной сети 🤖",
|
||||
|
@ -535,7 +535,7 @@ class TextGeneratrion(BasicFeature):
|
|||
logging.log(msg=f"Selected gpt4free provider {callback_data.provider} by user_id={call.from_user.id}",
|
||||
level=logging.INFO)
|
||||
|
||||
await state.update_data(set_provider=callback_data.provider)
|
||||
await state.update_data(provider=callback_data.provider)
|
||||
await state.set_state(AnsweringGPT4Free.set_model)
|
||||
|
||||
await call.message.edit_text("Выберите пожалуйста модель ИИ 👾",
|
||||
|
@ -560,7 +560,7 @@ class TextGeneratrion(BasicFeature):
|
|||
logging.log(msg=f"Selected gpt4free model {callback_data.model} by user_id={call.from_user.id}",
|
||||
level=logging.INFO)
|
||||
|
||||
await state.update_data(set_model=callback_data.model)
|
||||
await state.update_data(model=callback_data.model)
|
||||
await state.set_state(AnsweringGPT4Free.ready_to_answer)
|
||||
|
||||
logging.log(msg=f"Loaded GPT answering status for user_id={call.from_user.id}",
|
||||
|
@ -715,7 +715,7 @@ class TextGeneratrion(BasicFeature):
|
|||
"""
|
||||
if callback_data.user_id != call.from_user.id:
|
||||
return
|
||||
await state.update_data(set_model=callback_data.index)
|
||||
await state.update_data(model=callback_data.index)
|
||||
await state.set_state(AnsweringGpt4All.ready_to_answer)
|
||||
models = GPT4All.list_models()
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ from sqlalchemy.ext.asyncio import async_sessionmaker
|
|||
|
||||
from bozenka.database.tables.telegram import TelegramChatSettings
|
||||
from bozenka.features.main import BasicFeature
|
||||
from bozenka.instances.telegram.filters import IsSettingEnabled
|
||||
from bozenka.instances.telegram.utils.simpler import SolutionSimpler
|
||||
|
||||
|
||||
|
@ -62,13 +63,14 @@ class Welcome(BasicFeature):
|
|||
telegram_setting = TelegramChatSettings.welcome_messages
|
||||
telegram_category = "user"
|
||||
telegram_commands: dict[str: str] = {}
|
||||
telegram_db_name = TelegramChatSettings.welcome_messages
|
||||
telegram_setting_in_list = True
|
||||
telegram_setting_name = "Приветсвенные сообщения 👋"
|
||||
telegram_setting_description = "<b>Приветсвенные сообщения 👋</b>" \
|
||||
"\nПриветсвенные сообщения новым и ушедшим пользователям.",
|
||||
telegram_cmd_avaible = False # Is a feature have a commands
|
||||
telegram_message_handlers = [
|
||||
[telegram_leave_handler, [F.content_type == ContentType.LEFT_CHAT_MEMBER]],
|
||||
[telegram_join_handler, [F.content_type == ContentType.NEW_CHAT_MEMBERS]]
|
||||
[telegram_leave_handler, [F.content_type == ContentType.LEFT_CHAT_MEMBER, IsSettingEnabled(telegram_db_name)]],
|
||||
[telegram_join_handler, [F.content_type == ContentType.NEW_CHAT_MEMBERS, IsSettingEnabled(telegram_db_name)]]
|
||||
]
|
||||
telegram_callback_handlers = []
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from aiogram.enums import ChatType
|
||||
from aiogram.filters import Filter
|
||||
from aiogram.types import Message
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker
|
||||
|
@ -20,6 +21,8 @@ class IsSettingEnabled(Filter):
|
|||
:param session_maker: AsyncSessionMaker SqlAlchemy object
|
||||
:return: Is config enabled
|
||||
"""
|
||||
|
||||
return await get_chat_config_value(chat_id=msg.chat.id, session=session_maker, setting=self.setting)
|
||||
if msg.chat.type != ChatType.PRIVATE:
|
||||
return await get_chat_config_value(chat_id=msg.chat.id, session=session_maker, setting=self.setting)
|
||||
else:
|
||||
return True
|
||||
|
||||
|
|
Loading…
Reference in New Issue