加入斗鱼开播下播提醒
This commit is contained in:
@@ -143,10 +143,8 @@ class DouyuPlugin(MessagePluginInterface):
|
||||
content = str(message.get("content", "")).strip()
|
||||
if not content:
|
||||
return False
|
||||
for cmd in self._commands:
|
||||
if content.startswith(cmd):
|
||||
return True
|
||||
return False
|
||||
first_token = content.split()[0]
|
||||
return first_token in self._commands
|
||||
|
||||
@plugin_stats_decorator(plugin_name="斗鱼直播")
|
||||
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")
|
||||
if roomid and gbm.get_group_permission(roomid, self.feature) == PermissionStatus.DISABLED:
|
||||
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()
|
||||
if len(parts) < 2:
|
||||
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)
|
||||
await self.bot.send_text_message(roomid or sender, f"✅ 已订阅斗鱼房间 {room_id}", sender)
|
||||
return True, "订阅成功" if ok else "订阅失败"
|
||||
if content.startswith("取消斗鱼订阅"):
|
||||
if first_token == "取消斗鱼订阅":
|
||||
parts = content.split()
|
||||
if len(parts) < 2:
|
||||
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)
|
||||
await self.bot.send_text_message(roomid or sender, f"✅ 已取消订阅斗鱼房间 {room_id}", sender)
|
||||
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
|
||||
|
||||
async def _scheduled_check_job(self):
|
||||
|
||||
Reference in New Issue
Block a user