ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

telegram - chat-management

telegram - chat-management 聊天管理 - Telegram 机器人目录聊天类型聊天信息成员管理审核聊天设置邀请频道论坛主题聊天类型类型chat.type特点私聊private与用户 1:1群组group最多 200 名成员基础功能超级群组supergroup最多 20 万成员持久历史频道channel广播成员不限聊天信息# Obter informacoes completaschatawaitbot.get_chat(chat_id)print(fTitulo:{chat.title})print(fTipo:{chat.type})print(fMembros:{awaitbot.get_chat_member_count(chat_id)})print(fDescricao:{chat.description})# Obter membro especificomemberawaitbot.get_chat_member(chat_id,user_id)print(fStatus:{member.status})# creator, administrator, member, restricted, left, kicked# Listar administradoresadminsawaitbot.get_chat_administrators(chat_id)foradmininadmins:print(f{admin.user.first_name}:{admin.status})成员管理# Banir membro (remove do grupo)awaitbot.ban_chat_member(chat_id,user_id)# Banir temporario (volta apos until_date)fromdatetimeimportdatetime,timedelta untildatetime.now()timedelta(hours24)awaitbot.ban_chat_member(chat_id,user_id,until_dateuntil)# Desbanirawaitbot.unban_chat_member(chat_id,user_id,only_if_bannedTrue)# Restringir permissoesfromtelegramimportChatPermissionsawaitbot.restrict_chat_member(chat_id,user_id,permissionsChatPermissions(can_send_messagesTrue,can_send_photosFalse,can_send_videosFalse,can_send_other_messagesFalse,can_add_web_page_previewsFalse,can_invite_usersFalse),until_dateuntil# opcional: restricao temporaria)# Promover a administradorawaitbot.promote_chat_member(chat_id,user_id,can_manage_chatTrue,can_delete_messagesTrue,can_restrict_membersTrue,can_invite_usersTrue,can_pin_messagesTrue,can_manage_video_chatsTrue)# Titulo customizado para adminawaitbot.set_chat_administrator_custom_title(chat_id,user_id,Moderador)审核自动审核机器人fromtelegramimportUpdate,ChatPermissionsfromtelegram.extimportMessageHandler,filters,ContextTypes# Lista de palavras proibidasBANNED_WORDS[spam,proibido,blocked]asyncdefmoderate(update:Update,context:ContextTypes.DEFAULT_TYPE):msgupdate.messageifnotmsgornotmsg.text:returntext_lowermsg.text.lower()# Verificar palavras proibidasforwordinBANNED_WORDS:ifwordintext_lower:awaitmsg.delete()awaitcontext.bot.restrict_chat_member(msg.chat.id,msg.from_user.id,permissionsChatPermissions(can_send_messagesFalse),until_datedatetime.now()timedelta(minutes5))awaitcontext.bot.send_message(msg.chat.id,fMensagem de{msg.from_user.first_name}removida por conteudo proibido. fSilenciado por 5 minutos.)return# Anti-flood: max 5 msgs em 10 segundosuser_keyfflood_{msg.from_user.id}msgscontext.bot_data.get(user_key,[])nowdatetime.now().timestamp()msgs[tfortinmsgsifnow-t10]# ultimos 10 segundosmsgs.append(now)context.bot_data[user_key]msgsiflen(msgs)5:awaitmsg.delete()awaitcontext.bot.send_message(msg.chat.id,f{msg.from_user.first_name}, por favor nao envie tantas mensagens seguidas.)app.add_handler(MessageHandler(filters.TEXTfilters.ChatType.GROUPS,moderate))自动欢迎asyncdefwelcome(update:Update,context:ContextTypes.DEFAULT_TYPE):formemberinupdate.message.new_chat_members:ifmember.is_bot:continueawaitupdate.message.reply_text(fBem-vindo(a),{member.first_name}! fLeia as regras com /regras antes de participar.)app.add_handler(MessageHandler(filters.StatusUpdate.NEW_CHAT_MEMBERS,welcome))聊天设置# Alterar tituloawaitbot.set_chat_title(chat_id,Novo Titulo do Grupo)# Alterar descricaoawaitbot.set_chat_description(chat_id,Descricao atualizada do grupo)# Alterar fotowithopen(grupo_foto.jpg,rb)asphoto:awaitbot.set_chat_photo(chat_id,photo)# Fixar mensagemawaitbot.pin_chat_message(chat_id,message_id,disable_notificationTrue)# Desfixarawaitbot.unpin_chat_message(chat_id,message_id)# Desfixar todasawaitbot.unpin_all_chat_messages(chat_id)# Definir permissoes padraoawaitbot.set_chat_permissions(chat_id,ChatPermissions(can_send_messagesTrue,can_send_photosTrue,can_send_videosTrue,can_send_other_messagesTrue,can_add_web_page_previewsTrue,can_invite_usersTrue))邀请# Gerar link de convite padraolinkawaitbot.export_chat_invite_link(chat_id)# Criar link customizadoinviteawaitbot.create_chat_invite_link(chat_id,nameLink da Campanha Janeiro,expire_datedatetime(2026,2,28),member_limit100,creates_join_requestFalse# True requer aprovacao)print(fLink:{invite.invite_link})# Editar linkawaitbot.edit_chat_invite_link(chat_id,invite.invite_link,nameLink Atualizado,member_limit200)# Revogar linkawaitbot.revoke_chat_invite_link(chat_id,invite.invite_link)# Aprovar pedido de entradaasyncdefhandle_join_request(update:Update,context:ContextTypes.DEFAULT_TYPE):requestupdate.chat_join_request# Auto-aprovar (ou implementar logica customizada)awaitrequest.approve()awaitcontext.bot.send_message(request.from_user.id,fBem-vindo ao grupo{request.chat.title}!)app.add_handler(ChatJoinRequestHandler(handle_join_request))频道机器人可以在频道中发布、编辑和删除消息# Postar em canal (use o username ou chat_id)awaitbot.send_message(meu_canal,Post no canal!)# Postar com botoesfromtelegramimportInlineKeyboardButton,InlineKeyboardMarkup keyboardInlineKeyboardMarkup([[InlineKeyboardButton(Leia mais,urlhttps://example.com)]])awaitbot.send_message(meu_canal,Novo artigo!,reply_markupkeyboard)# Editar post do canalawaitbot.edit_message_text(Texto atualizado,chat_idmeu_canal,message_id123)# Encaminhar do canal para grupoawaitbot.forward_message(chat_idgroup_id,from_chat_idmeu_canal,message_id123)论坛主题启用了主题论坛类型的超级群组# Criar topictopicawaitbot.create_forum_topic(chat_id,nameDuvidas Gerais,icon_color0x6FB9F0# Azul)# Enviar mensagem em topic especificoawaitbot.send_message(chat_id,Mensagem no topic,message_thread_idtopic.message_thread_id)# Fechar topicawaitbot.close_forum_topic(chat_id,topic.message_thread_id)# Reabrir topicawaitbot.reopen_forum_topic(chat_id,topic.message_thread_id)# Editar topicawaitbot.edit_forum_topic(chat_id,topic.message_thread_id,nameDuvidas Tecnicas)# Deletar topicawaitbot.delete_forum_topic(chat_id,topic.message_thread_id)
返回列表