mirror of
https://github.com/MuRuLOSE/limoka.git
synced 2026-06-17 14:54:18 +02:00
Added and updated repositories 2026-01-10 01:09:56
This commit is contained in:
@@ -26,53 +26,108 @@
|
||||
# scope: IrisSimpleMod 1.0.1
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from .. import loader, utils
|
||||
|
||||
__version__ = (1, 0, 1)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@loader.tds
|
||||
class IrisSimpleMod(loader.Module):
|
||||
"""Модуль для базового взаимодействия с Ирисом"""
|
||||
"""Module for basic interaction with Iris bot"""
|
||||
|
||||
strings = {"name": "IrisSimpleMod"}
|
||||
strings = {
|
||||
"name": "IrisSimpleMod",
|
||||
"checking_bag": "<emoji document_id=5188311512791393083>🌎</emoji> Checking bag...",
|
||||
"bag_result": "<emoji document_id=5854762571659218443>✅</emoji> Your bag: <code>{}</code>",
|
||||
"farming": "<emoji document_id=5188311512791393083>🌎</emoji> Farming iris-coins...",
|
||||
"farm_result": "<emoji document_id=5854762571659218443>✅</emoji> Farm result: <code>{}</code>",
|
||||
"getting_stats": "<emoji document_id=5188311512791393083>🌎</emoji> Getting user stats...",
|
||||
"stats_result": "<emoji document_id=5854762571659218443>✅</emoji> User stats: <code>{}</code>",
|
||||
"bot_stats": "<emoji document_id=5188311512791393083>🌎</emoji> Getting bot stats...",
|
||||
"bot_stats_result": "<emoji document_id=5854762571659218443>✅</emoji> Bot stats: <code>{}</code>",
|
||||
"error_no_response": "<emoji document_id=5854929766146118183>❌</emoji> No response from bot. Please try again.",
|
||||
"error_timeout": "<emoji document_id=5854929766146118183>❌</emoji> Request timeout. Please try again.",
|
||||
"error_general": "<emoji document_id=5854929766146118183>❌</emoji> An error occurred: {error}",
|
||||
}
|
||||
|
||||
@loader.command(ru_doc="Проверить мешок")
|
||||
strings_ru = {
|
||||
"checking_bag": "<emoji document_id=5188311512791393083>🌎</emoji> Проверка мешка...",
|
||||
"bag_result": "<emoji document_id=5854762571659218443>✅</emoji> Ваш мешок: <code>{}</code>",
|
||||
"farming": "<emoji document_id=5188311512791393083>🌎</emoji> Фарм ирис-коинов...",
|
||||
"farm_result": "<emoji document_id=5854762571659218443>✅</emoji> Результат фарма: <code>{}</code>",
|
||||
"getting_stats": "<emoji document_id=5188311512791393083>🌎</emoji> Получение статистики пользователя...",
|
||||
"stats_result": "<emoji document_id=5854762571659218443>✅</emoji> Статистика пользователя: <code>{}</code>",
|
||||
"bot_stats": "<emoji document_id=5188311512791393083>🌎</emoji> Получение статистики ботов...",
|
||||
"bot_stats_result": "<emoji document_id=5854762571659218443>✅</emoji> Статистика ботов: <code>{}</code>",
|
||||
"error_no_response": "<emoji document_id=5854929766146118183>❌</emoji> Нет ответа от бота. Попробуйте еще раз.",
|
||||
"error_timeout": "<emoji document_id=5854929766146118183>❌</emoji> Таймаут запроса. Попробуйте еще раз.",
|
||||
"error_general": "<emoji document_id=5854929766146118183>❌</emoji> Произошла ошибка: {error}",
|
||||
}
|
||||
|
||||
async def _send_and_delete(
|
||||
self, message, command_message: str, response_timeout: int = 15
|
||||
) -> Optional[str]:
|
||||
"""Send command to Iris and get response with timeout"""
|
||||
try:
|
||||
async with self.client.conversation(
|
||||
self._iris_user_id, timeout=self._timeout
|
||||
) as conv:
|
||||
await conv.send_message(command_message)
|
||||
await message.delete()
|
||||
|
||||
response_msg = await conv.get_response()
|
||||
if response_msg:
|
||||
await utils.answer(message, response_msg.text)
|
||||
return response_msg.text
|
||||
else:
|
||||
return None
|
||||
except Exception as e:
|
||||
logger.error(f"Error in conversation: {e}")
|
||||
await utils.answer(
|
||||
message, self.strings["error_general"].format(error=str(e))
|
||||
)
|
||||
return None
|
||||
|
||||
@loader.command(
|
||||
ru_doc="Проверить мешок",
|
||||
en_doc="Check bag",
|
||||
)
|
||||
async def bag(self, message):
|
||||
"""Check bag"""
|
||||
async with self.client.conversation(5443619563) as conv:
|
||||
usermessage = await conv.send_message("мешок")
|
||||
await usermessage.delete()
|
||||
bagmessage = await conv.get_response()
|
||||
await utils.answer(message, "Ваш мешок:\n" + bagmessage.text)
|
||||
await bagmessage.delete()
|
||||
await utils.answer(message, self.strings["checking_bag"])
|
||||
|
||||
@loader.command(ru_doc="Зафармить ирис-коины")
|
||||
result = await self._send_and_delete(message, "мешок", response_timeout=20)
|
||||
|
||||
if result:
|
||||
await utils.answer(message, self.strings["bag_result"].format(result))
|
||||
|
||||
@loader.command(
|
||||
ru_doc="Зафармить ирис-коины",
|
||||
en_doc="Farm iris-coins",
|
||||
)
|
||||
async def farm(self, message):
|
||||
"""Farm iris-coins"""
|
||||
async with self.client.conversation(5443619563) as conv:
|
||||
usermessage = await conv.send_message("ферма")
|
||||
await usermessage.delete()
|
||||
farmmessage = await conv.get_response()
|
||||
await utils.answer(message, farmmessage.text)
|
||||
await farmmessage.delete()
|
||||
await utils.answer(message, self.strings["farming"])
|
||||
|
||||
@loader.command(ru_doc="Вывести анкету")
|
||||
result = await self._send_and_delete(message, "ферма", response_timeout=25)
|
||||
|
||||
if result:
|
||||
await utils.answer(message, self.strings["farm_result"].format(result))
|
||||
|
||||
@loader.command(
|
||||
ru_doc="Вывести анкету",
|
||||
en_doc="Display user stats",
|
||||
)
|
||||
async def irisstats(self, message):
|
||||
"""Display user stats"""
|
||||
async with self.client.conversation(5443619563) as conv:
|
||||
usermessage = await conv.send_message("анкета")
|
||||
await usermessage.delete()
|
||||
statsmessage = await conv.get_response()
|
||||
await utils.answer(message, statsmessage.text)
|
||||
await statsmessage.delete()
|
||||
await utils.answer(message, self.strings["getting_stats"])
|
||||
|
||||
@loader.command(ru_doc="Вывести статистику ботов")
|
||||
async def irisping(self, message):
|
||||
"""Display bot stats"""
|
||||
async with self.client.conversation(5443619563) as conv:
|
||||
usermessage = await conv.send_message("🌺 Семейство ирисовых")
|
||||
await usermessage.delete()
|
||||
pingmessage = await conv.get_response()
|
||||
await utils.answer(message, pingmessage.text)
|
||||
await pingmessage.delete()
|
||||
result = await self._send_and_delete(message, "анкета", response_timeout=20)
|
||||
|
||||
if result:
|
||||
await utils.answer(message, self.strings["stats_result"].format(result))
|
||||
|
||||
Reference in New Issue
Block a user