async def on_member_update(self, before: Member, after: Member): if after.activities is None: after.activities = ("dummy", ) if before.activities is None: before.activities = ("dummy", ) ch_twitch = self.bot.get_channel(const.CH_TWITCH) # 後が配信中 if any([ isinstance(after_activity, Streaming) for after_activity in after.activities ]): if any([ isinstance(before_activity, Streaming) for before_activity in before.activities ]): return # 前が配信中でない for after_activity in after.activities: if not isinstance(after_activity, Streaming): continue if after_activity.platform != "Twitch": continue await ch_twitch.send( f"{after.mention} が配信を始めました!", embed=self.to_embed(after_activity, after), allowed_mentions=AllowedMentions.none(), ) return
async def on_member_update(self, before: Member, after: Member): if after.activities is None: after.activities = ("dummy",) if before.activities is None: before.activities = ("dummy",) guild = self.bot.get_guild(constant.GUILD_ID) role_streaming = guild.get_role(constant.ROLE_STREAMING) ch_twitch = self.bot.get_channel(constant.CH_TWITCH) # 後が配信中 if any( [ isinstance(after_activity, Streaming) for after_activity in after.activities ] ): if any( [ isinstance(before_activity, Streaming) for before_activity in before.activities ] ): return # 前が配信中でない for after_activity in after.activities: if not isinstance(after_activity, Streaming): continue await ch_twitch.send( f"{after.mention} が配信を始めました!", embed=self.to_embed(after_activity, after), allowed_mentions=AllowedMentions.none(), ) await after.add_roles(role_streaming) return # 後が配信中じゃない else: if not any( [ isinstance(before_activity, Streaming) for before_activity in before.activities ] ): return # 前が配信中 await after.remove_roles(role_streaming) return