def on_message_reaction_add(self, event): try: # Grab the message, and JOIN across blocks to check if a block exists # for either the message author or the reactor. msg = Message.select( Message, StarboardBlock ).join( StarboardBlock, join_type=JOIN.LEFT_OUTER, on=( ( (Message.author_id == StarboardBlock.user_id) | (StarboardBlock.user_id == event.user_id) ) & (Message.guild_id == StarboardBlock.guild_id) ) ).where( (Message.id == event.message_id) ).get() except Message.DoesNotExist: return # If either the reaction or message author is blocked, prevent this action if msg.starboardblock.user_id: event.delete() return # Check if the board prevents self stars sb_id, board = event.config.get_board(event.channel_id) if not sb_id: return if board.prevent_self_star and msg.author_id == event.user_id: event.delete() return try: StarboardEntry.add_star(event.message_id, event.user_id) except peewee.IntegrityError: msg = self.client.api.channels_messages_get( event.channel_id, event.message_id) if msg: Message.from_disco_message(msg) StarboardEntry.add_star(event.message_id, event.user_id) else: return self.queue_update(event.guild.id, event.config)
def on_message_create(self, event): Message.from_disco_message(event.message)
def command_backfill_message(self, event, channel, message): channel = self.state.channels.get(channel) Message.from_disco_message(channel.get_message(message)) return event.msg.reply(':ok_hand: backfilled')
def on_message_create(self, event): is_tag = event.message.id in self.tag_messages if is_tag: self.tag_messages.remove(event.message.id) Message.from_disco_message(event.message, is_tag)
def command_backfill_message(self, event, channel, message): channel = self.state.channels.get(channel) Message.from_disco_message(channel.get_message(message)) raise CommandSuccess('Backfill Complete')
def on_message_create(self, event): if event.message.author.bot: return Message.from_disco_message(event.message)