加入斗鱼开播下播提醒
This commit is contained in:
@@ -143,10 +143,8 @@ class DouyuPlugin(MessagePluginInterface):
|
|||||||
content = str(message.get("content", "")).strip()
|
content = str(message.get("content", "")).strip()
|
||||||
if not content:
|
if not content:
|
||||||
return False
|
return False
|
||||||
for cmd in self._commands:
|
first_token = content.split()[0]
|
||||||
if content.startswith(cmd):
|
return first_token in self._commands
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
@plugin_stats_decorator(plugin_name="斗鱼直播")
|
@plugin_stats_decorator(plugin_name="斗鱼直播")
|
||||||
async def process_message(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]:
|
async def process_message(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]:
|
||||||
@@ -157,7 +155,16 @@ class DouyuPlugin(MessagePluginInterface):
|
|||||||
self.bot: WechatAPIClient = message.get("bot")
|
self.bot: WechatAPIClient = message.get("bot")
|
||||||
if roomid and gbm.get_group_permission(roomid, self.feature) == PermissionStatus.DISABLED:
|
if roomid and gbm.get_group_permission(roomid, self.feature) == PermissionStatus.DISABLED:
|
||||||
return False, "没有权限"
|
return False, "没有权限"
|
||||||
if content.startswith("斗鱼订阅"):
|
first_token = content.split()[0]
|
||||||
|
if content == "斗鱼订阅列表":
|
||||||
|
rooms = self.redis_manager.list_group_rooms(roomid or sender)
|
||||||
|
if not rooms:
|
||||||
|
await self.bot.send_text_message(roomid or sender, "暂无订阅", sender)
|
||||||
|
return True, "暂无订阅"
|
||||||
|
text = "当前订阅的斗鱼房间:\n" + "\n".join(rooms)
|
||||||
|
await self.bot.send_text_message(roomid or sender, text, sender)
|
||||||
|
return True, "列表已发送"
|
||||||
|
if first_token == "斗鱼订阅":
|
||||||
parts = content.split()
|
parts = content.split()
|
||||||
if len(parts) < 2:
|
if len(parts) < 2:
|
||||||
await self.bot.send_text_message(roomid or sender, "请提供房间号,例如:订阅斗鱼 7718843", sender)
|
await self.bot.send_text_message(roomid or sender, "请提供房间号,例如:订阅斗鱼 7718843", sender)
|
||||||
@@ -166,7 +173,7 @@ class DouyuPlugin(MessagePluginInterface):
|
|||||||
ok = self.redis_manager.add_group_room(roomid or sender, room_id)
|
ok = self.redis_manager.add_group_room(roomid or sender, room_id)
|
||||||
await self.bot.send_text_message(roomid or sender, f"✅ 已订阅斗鱼房间 {room_id}", sender)
|
await self.bot.send_text_message(roomid or sender, f"✅ 已订阅斗鱼房间 {room_id}", sender)
|
||||||
return True, "订阅成功" if ok else "订阅失败"
|
return True, "订阅成功" if ok else "订阅失败"
|
||||||
if content.startswith("取消斗鱼订阅"):
|
if first_token == "取消斗鱼订阅":
|
||||||
parts = content.split()
|
parts = content.split()
|
||||||
if len(parts) < 2:
|
if len(parts) < 2:
|
||||||
await self.bot.send_text_message(roomid or sender, "请提供房间号,例如:取消订阅斗鱼 7718843", sender)
|
await self.bot.send_text_message(roomid or sender, "请提供房间号,例如:取消订阅斗鱼 7718843", sender)
|
||||||
@@ -175,14 +182,6 @@ class DouyuPlugin(MessagePluginInterface):
|
|||||||
ok = self.redis_manager.remove_group_room(roomid or sender, room_id)
|
ok = self.redis_manager.remove_group_room(roomid or sender, room_id)
|
||||||
await self.bot.send_text_message(roomid or sender, f"✅ 已取消订阅斗鱼房间 {room_id}", sender)
|
await self.bot.send_text_message(roomid or sender, f"✅ 已取消订阅斗鱼房间 {room_id}", sender)
|
||||||
return True, "取消成功" if ok else "取消失败"
|
return True, "取消成功" if ok else "取消失败"
|
||||||
if content.startswith("斗鱼订阅列表"):
|
|
||||||
rooms = self.redis_manager.list_group_rooms(roomid or sender)
|
|
||||||
if not rooms:
|
|
||||||
await self.bot.send_text_message(roomid or sender, "暂无订阅", sender)
|
|
||||||
return True, "暂无订阅"
|
|
||||||
text = "当前订阅的斗鱼房间:\n" + "\n".join(rooms)
|
|
||||||
await self.bot.send_text_message(roomid or sender, text, sender)
|
|
||||||
return True, "列表已发送"
|
|
||||||
return False, None
|
return False, None
|
||||||
|
|
||||||
async def _scheduled_check_job(self):
|
async def _scheduled_check_job(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user