reply_entity.append({'type': 'text', 'data': {'text': message.text}}) qq_message_id = send_from_tg_to_qq(forward_index, message=reply_entity, tg_group_id=tg_group_id, tg_user=update.effective_user, tg_forward_from=message, tg_reply_to=message.reply_to_message, edited=edited) global_vars.mdb.append_message(qq_message_id, message.message_id, forward_index, 0) global_vars.dp.add_handler( MessageHandler((Filters.text | Filters.command), text_from_telegram, edited_updates=True), get_plugin_priority(__name__)) global_vars.dp.add_handler( MessageHandler(Filters.sticker, sticker_from_telegram), get_plugin_priority(__name__)) global_vars.dp.add_handler(MessageHandler(Filters.audio, audio_from_telegram), get_plugin_priority(__name__)) global_vars.dp.add_handler( MessageHandler(Filters.photo, photo_from_telegram, edited_updates=True), get_plugin_priority(__name__)) global_vars.dp.add_handler( MessageHandler(Filters.document, document_from_telegram, edited_updates=True), get_plugin_priority(__name__)) global_vars.dp.add_handler(MessageHandler(Filters.video, video_from_telegram), get_plugin_priority(__name__)) global_vars.dp.add_handler(
if args[0] == 'qq': if qq_or_tg_id in global_vars.admin_list['QQ']: update.message.reply_text(str(qq_or_tg_id) + ' already in list', reply_to_message_id=update.message.message_id) else: global_vars.admin_list['QQ'].append(qq_or_tg_id) update.message.reply_text(str(qq_or_tg_id) + ' added', reply_to_message_id=update.message.message_id) elif args[0] == 'tg': if qq_or_tg_id in global_vars.admin_list['TG']: update.message.reply_text(str(qq_or_tg_id) + ' already in list', reply_to_message_id=update.message.message_id) else: global_vars.admin_list['TG'].append(qq_or_tg_id) update.message.reply_text(str(qq_or_tg_id) + ' added', reply_to_message_id=update.message.message_id) else: update.message.reply_text('Usage: /add_admin [qq|tg] [qq_id|tg_id]') return save_data() global_vars.dp.add_handler(CommandHandler(command='start', callback=start, filters=Filters.private), group=get_plugin_priority(__name__)) global_vars.dp.add_handler(CommandHandler(command='add_admin', callback=add_admin, filters=Filters.private, pass_args=True), group=get_plugin_priority(__name__)) logger.debug(__name__ + " loaded")
import datetime import logging import global_vars import telegram from telegram.ext import MessageHandler, Filters from telegram.ext.dispatcher import DispatcherHandlerStop from main.utils import get_plugin_priority logger = logging.getLogger("CTBPlugin." + __name__) logger.debug(__name__ + " loading") # Telegram messages will expire in 60 seconds if bot isn't running # So other chat session won't be spammed when bot stops and then starts # If you want to keep all message synced, please simply disable this plugin. def ignore_old_message(bot: telegram.Bot, update: telegram.Update): # ignore old message that are more than 60s ago if (datetime.datetime.now() - update.message.date).total_seconds() > 60: logger.debug('Telegram message ignored: sent more than 60 seconds ago') raise DispatcherHandlerStop() global_vars.dp.add_handler(MessageHandler(Filters.all & Filters.group, ignore_old_message), get_plugin_priority(__name__))
conv_handler = ConversationHandler( entry_points=[ CommandHandler(command='begin_add_channel', callback=begin_add_channel, filters=Filters.private) ], states={ CHANNEL: [MessageHandler(Filters.all & Filters.private, add_channel)] }, fallbacks=[ CommandHandler(command='cancel', callback=cancel_add_channel, filters=Filters.private) ]) global_vars.dp.add_handler(conv_handler, group=get_plugin_priority(__name__)) global_vars.dp.add_handler(CommandHandler(command='add_keyword', callback=add_keyword, filters=Filters.private, pass_args=True), group=get_plugin_priority(__name__)) global_vars.dp.add_handler(CommandHandler(command='get_keywords', callback=get_keywords, filters=Filters.private, pass_args=True), group=get_plugin_priority(__name__)) global_vars.dp.add_handler(CommandHandler(command='add_user', callback=add_user, filters=Filters.private, pass_args=True),
import global_vars import telegram from telegram import InlineKeyboardButton, InlineKeyboardMarkup from telegram.ext import CallbackQueryHandler from main.utils import get_plugin_priority, get_full_user_name # rely on _000_admins logger = logging.getLogger("CTBPlugin." + __name__) logger.debug(__name__ + " loading") global_vars.create_variable('group_requests', {}) # pending admissions @global_vars.qq_bot.on_request('group', group=get_plugin_priority(__name__)) def event_group_request(context): """ handle qq group add/invite requests with reply markup :param context: post_type string "request" 上报类型 request_type string "group" 请求类型 sub_type string "add"、"invite" 请求子类型,分别表示加群请求、邀请登录号入群 group_id number - 群号 user_id number - 发送请求的 QQ 号 message string - 验证信息 flag string - 请求 flag,在调用处理请求的 API 时需要传入 :return: """ logger.debug(context) group_id = context.get('group_id')