async def argue(event: Event): if event.group_id in ENABLED_GROUPS: msg = Message(event.message).extract_plain_text() if random() <= 0.001: reply: Message = MessageSegment.at( event.user_id) + MessageSegment.text("{}个头".format(msg[0])) await bot.send(event, reply) logger.info("怼人了!({} -> 群号 {})".format(str(reply), event.group_id))
async def _send(self, to_chat: int, chat_type: ChatType, message: UnifiedMessage): """ :return: """ self.logger.debug('begin processing message') context = dict() if chat_type == ChatType.UNSPECIFIED: self.logger.warning(f'Sending to undefined group or chat {to_chat}') return context['message_type'] = f'{chat_type}' context['message'] = list() if message.image: image_name = os.path.basename(message.image) context['message'].append(MessageSegment.image(image_name)) if (chat_type == ChatType.PRIVATE and self.config.NameforPrivateChat) or \ (chat_type in (ChatType.GROUP, ChatType.DISCUSS) and self.config.NameforGroupChat): # name logic if message.chat_attrs.name: context['message'].append(MessageSegment.text(message.chat_attrs.name)) if message.chat_attrs.reply_to: context['message'].append(MessageSegment.text(' (➡️️' + message.chat_attrs.reply_to.name + ')')) if message.chat_attrs.forward_from: context['message'].append(MessageSegment.text(' (️️↩️' + message.chat_attrs.forward_from.name + ')')) if message.chat_attrs.name: context['message'].append(MessageSegment.text(': ')) # at user if message.send_action.user_id: context['message'].append(MessageSegment.at(message.send_action.user_id)) context['message'].append(MessageSegment.text(' ')) context['message'].append(MessageSegment.text(message.text)) if chat_type == ChatType.PRIVATE: context['user_id'] = to_chat else: context[f'{chat_type}_id'] = to_chat self.logger.debug('finished processing message, ready to send') result = await self.bot.send(context, context['message']) if message.chat_attrs: set_egress_message_id(src_platform=message.chat_attrs.platform, src_chat_id=message.chat_attrs.chat_id, src_chat_type=message.chat_attrs.chat_type, src_message_id=message.chat_attrs.message_id, dst_platform=self.name, dst_chat_id=to_chat, dst_chat_type=chat_type, dst_message_id=result.get('message_id'), user_id=self.config.Account) self.logger.debug('finished sending') return result.get('message_id')
async def todo_add(session: CommandSession): seconds = session.get('seconds') # unit: s something = session.get('something') o_time = session.get('o_time') user_id = session.ctx.get('user_id') delta = datetime.timedelta(seconds=seconds) trigger = DateTrigger(run_date=datetime.datetime.now() + delta) something = MessageSegment.at(user_id) + ' ' + something scheduler.add_job(func=session.send, trigger=trigger, args=(something, ), misfire_grace_time=60) await session.send(f'好的,我会在{o_time}提醒你{something}')
async def redb(bot: Bot, event: LuckyKingNotifyEvent): atmsg = MessageSegment.at(event.target_id) await bot.send( event=event, message=atmsg + '恭喜你是运气王,请立即红包接力,不要不识好歹', )