调整内容

This commit is contained in:
liuwei
2025-08-13 17:49:26 +08:00
parent 07e2e35665
commit 8ed9b27429

View File

@@ -20,6 +20,7 @@ from utils.robot_cmd.robot_command import Feature, PermissionStatus
class LuckyPotRoom:
"""奖池房间类"""
def __init__(self, room_id: str, entry_fee: int, max_players: int, countdown: int, creator: str, group_id: str):
self.room_id = room_id
self.status = "waiting" # waiting | drawing | finished
@@ -103,9 +104,16 @@ class LuckyPotPlugin(MessagePluginInterface):
return self._commands
@property
def feature(self) -> Optional[Feature]:
"""获取功能权限"""
return Feature.get_feature_by_key(self.FEATURE_KEY)
def feature_key(self) -> Optional[str]:
return self.FEATURE_KEY
@property
def feature_description(self) -> Optional[str]:
return self.FEATURE_DESCRIPTION
def __init__(self):
super().__init__()
self.feature = self.register_feature()
def initialize(self, context: Dict[str, Any]) -> bool:
"""初始化插件"""
@@ -241,7 +249,9 @@ class LuckyPotPlugin(MessagePluginInterface):
)
if not deduct_success:
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 扣除积分失败,无法创建大奖池!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 扣除积分失败,无法创建大奖池!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "扣除积分失败"
@@ -281,19 +291,25 @@ class LuckyPotPlugin(MessagePluginInterface):
# 检查房间状态
if room.status != "waiting":
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 当前房间已经开始开奖或已结束,无法加入!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 当前房间已经开始开奖或已结束,无法加入!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "房间状态不允许加入"
# 检查是否已在房间中
if sender in room.players:
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "⚠️ 您已经在大奖池中了,无需重复加入!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"⚠️ 您已经在大奖池中了,无需重复加入!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "已在房间中"
# 检查房间是否已满
if room.is_full():
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 大奖池已满员,无法加入!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 大奖池已满员,无法加入!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "房间已满"
@@ -324,7 +340,9 @@ class LuckyPotPlugin(MessagePluginInterface):
)
if not deduct_success:
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 扣除积分失败,无法加入大奖池!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 扣除积分失败,无法加入大奖池!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "扣除积分失败"
@@ -397,7 +415,9 @@ class LuckyPotPlugin(MessagePluginInterface):
# 检查是否有活跃房间
if roomid not in self.active_rooms:
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 当前没有活跃的大奖池房间!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 当前没有活跃的大奖池房间!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "没有活跃房间"
@@ -405,13 +425,17 @@ class LuckyPotPlugin(MessagePluginInterface):
# 检查是否是创建者
if room.creator != sender:
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 只有房间创建者才能取消大奖池!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 只有房间创建者才能取消大奖池!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "不是创建者"
# 检查房间状态
if room.status != "waiting":
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target, "❌ 房间已经开始开奖或已结束,无法取消!", sender)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(target,
"❌ 房间已经开始开奖或已结束,无法取消!",
sender)
self.revoke.add_message_to_revoke(target, client_msg_id, create_time, new_msg_id, 5)
return True, "房间状态不允许取消"