尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
telegram - advanced-features
高级功能 - Telegram 机器人目录内联模式支付Telegram Stars迷你应用WebApps对话处理器FSM贴纸游戏Passport企业机器人Business Bots消息草稿流式输出内联模式允许用户在任何聊天中输入你的机器人 查询来使用机器人。启用与 BotFather 对话并发送/setinline。fromtelegramimportUpdate,InlineQueryResultArticle,InputTextMessageContentfromtelegram.extimportInlineQueryHandlerasyncdefinline_query(update:Update,context):queryupdate.inline_query.queryifnotquery:returnresults[InlineQueryResultArticle(id1,titlefResultado para:{query},input_message_contentInputTextMessageContent(message_textfVoce buscou:{query}),descriptionClique para enviar),InlineQueryResultArticle(id2,titleBusca em maiusculas,input_message_contentInputTextMessageContent(message_textquery.upper()))]awaitupdate.inline_query.answer(results,cache_time10)app.add_handler(InlineQueryHandler(inline_query))内联结果类型InlineQueryResultArticle- 通用文本InlineQueryResultPhoto- 带预览的照片InlineQueryResultGif- GIFInlineQueryResultVideo- 视频InlineQueryResultAudio- 音频InlineQueryResultDocument- 文档InlineQueryResultLocation- 位置InlineQueryResultVenue- 地点/场所InlineQueryResultContact- 联系人InlineQueryResultCachedPhoto- 已在 Telegram 服务器上的照片支付Telegram StarsTelegram 允许通过 Stars内部货币为数字商品进行支付。fromtelegramimportLabeledPrice# Enviar invoiceawaitbot.send_invoice(chat_idchat_id,titleAssinatura Premium,descriptionAcesso premium por 30 dias,payloadpremium_30days,currencyXTR,# XTR Telegram Starsprices[LabeledPrice(Assinatura Premium,100)],# 100 Stars)# Handler de pre-checkoutasyncdefprecheckout(update:Update,context):queryupdate.pre_checkout_queryifquery.invoice_payloadpremium_30days:awaitquery.answer(okTrue)else:awaitquery.answer(okFalse,error_messagePayload invalido)# Handler de pagamento concluidoasyncdefsuccessful_payment(update:Update,context):paymentupdate.message.successful_paymentawaitupdate.message.reply_text(fPagamento recebido!{payment.total_amount}Stars. fSeu acesso premium foi ativado.)app.add_handler(PreCheckoutQueryHandler(precheckout))app.add_handler(MessageHandler(filters.SUCCESSFUL_PAYMENT,successful_payment))外部支付提供商对于实物商品使用 Stripe、YooMoney 等提供商awaitbot.send_invoice(chat_idchat_id,titleCamiseta Bot Telegram,descriptionCamiseta tamanho M, algodao,payloadtshirt_m,provider_tokenSEU_PROVIDER_TOKEN,# do BotFathercurrencyBRL,prices[LabeledPrice(Camiseta,5990),# R$ 59.90 (em centavos)LabeledPrice(Frete,1500)# R$ 15.00],need_shipping_addressTrue,need_nameTrue,need_phone_numberTrue)迷你应用WebApps迷你应用是在 Telegram 内运行的 Web 应用。fromtelegramimportWebAppInfo,InlineKeyboardButton,InlineKeyboardMarkup# Botao que abre Mini AppkeyboardInlineKeyboardMarkup([[InlineKeyboardButton(Abrir App,web_appWebAppInfo(urlhttps://seu-app.com))]])awaitbot.send_message(chat_id,Clique para abrir:,reply_markupkeyboard)# Via Reply KeyboardfromtelegramimportReplyKeyboardMarkup,KeyboardButton keyboardReplyKeyboardMarkup([[KeyboardButton(Abrir App,web_appWebAppInfo(urlhttps://seu-app.com))]])接收迷你应用的数据asyncdefweb_app_data(update:Update,context):dataupdate.effective_message.web_app_data.data# data e uma string JSON enviada pelo Mini Appimportjson parsedjson.loads(data)awaitupdate.message.reply_text(fRecebi do app:{parsed})app.add_handler(MessageHandler(filters.StatusUpdate.WEB_APP_DATA,web_app_data))对话处理器FSM用于多步骤对话表单、向导fromtelegram.extimportConversationHandler,CommandHandler,MessageHandler,filters# EstadosNAME,AGE,CONFIRMrange(3)asyncdefstart_form(update:Update,context):awaitupdate.message.reply_text(Qual seu nome?)returnNAMEasyncdefget_name(update:Update,context):context.user_data[name]update.message.textawaitupdate.message.reply_text(Qual sua idade?)returnAGEasyncdefget_age(update:Update,context):context.user_data[age]update.message.text namecontext.user_data[name]agecontext.user_data[age]keyboardInlineKeyboardMarkup([[InlineKeyboardButton(Confirmar,callback_dataconfirm),InlineKeyboardButton(Cancelar,callback_datacancel)]])awaitupdate.message.reply_text(fNome:{name}\nIdade:{age}\n\nConfirma?,reply_markupkeyboard)returnCONFIRMasyncdefconfirm(update:Update,context):queryupdate.callback_queryawaitquery.answer()ifquery.dataconfirm:awaitquery.edit_message_text(Cadastro realizado com sucesso!)else:awaitquery.edit_message_text(Cadastro cancelado.)returnConversationHandler.ENDasyncdefcancel(update:Update,context):awaitupdate.message.reply_text(Operacao cancelada.)returnConversationHandler.END conv_handlerConversationHandler(entry_points[CommandHandler(cadastro,start_form)],states{NAME:[MessageHandler(filters.TEXT~filters.COMMAND,get_name)],AGE:[MessageHandler(filters.TEXT~filters.COMMAND,get_age)],CONFIRM:[CallbackQueryHandler(confirm)],},fallbacks[CommandHandler(cancel,cancel)],conversation_timeout300# 5 minutos timeout)app.add_handler(conv_handler)贴纸# Enviar sticker por file_idawaitbot.send_sticker(chat_id,stickerCAACAgIAAxkBAAI...)# Obter sticker setsticker_setawaitbot.get_sticker_set(set_name)forstickerinsticker_set.stickers:print(fEmoji:{sticker.emoji}, ID:{sticker.file_id})# Criar sticker set (requer imagem 512x512 PNG/WEBP)awaitbot.create_new_sticker_set(user_iduser_id,namemeupack_by_meubot,titleMeu Sticker Pack,stickers[InputSticker(stickeropen(sticker.webp,rb),emoji_list[],formatstatic)])# Adicionar sticker ao setawaitbot.add_sticker_to_set(user_iduser_id,namemeupack_by_meubot,stickerInputSticker(stickeropen(sticker2.webp,rb),emoji_list[],formatstatic))游戏# Enviar jogo (precisa registrar no BotFather com /newgame)awaitbot.send_game(chat_id,game_short_namemeu_jogo)# Handler de callback para jogoasyncdefgame_callback(update:Update,context):queryupdate.callback_queryawaitquery.answer(urlhttps://seu-jogo.com/?user_idstr(query.from_user.id))# Salvar scoreawaitbot.set_game_score(user_iduser_id,score150,chat_idchat_id,message_idgame_message_id)# Obter high scoresscoresawaitbot.get_game_high_scores(user_iduser_id,chat_idchat_id,message_idgame_message_id)企业机器人Business Bots用于 Telegram 企业账户的机器人# Receber conexao businessasyncdefbusiness_connection(update:Update,context):connupdate.business_connectionifconn.is_enabled:print(fBot conectado ao business de{conn.user.first_name})else:print(fBot desconectado do business de{conn.user.first_name})# Receber mensagens businessasyncdefbusiness_message(update:Update,context):msgupdate.business_message# Responder em nome do businessawaitcontext.bot.send_message(chat_idmsg.chat.id,textObrigado pela mensagem! Responderemos em breve.,business_connection_idmsg.business_connection_id)app.add_handler(BusinessConnectionHandler(business_connection))app.add_handler(BusinessMessagesHandler(business_message))消息草稿流式输出对于较长的回复如 AI 的回复使用草稿提供实时反馈importrequests TOKENSEU_TOKENBASEfhttps://api.telegram.org/bot{TOKEN}defstream_response(chat_id,full_text):Simula streaming enviando drafts parciais.wordsfull_text.split()partial# Enviar draft inicialfori,wordinenumerate(words):partialword ifi%50:# Atualizar a cada 5 palavrasrequests.post(f{BASE}/sendMessageDraft,json{chat_id:chat_id,text:partial.strip()...})# Enviar mensagem finalrequests.post(f{BASE}/sendMessage,json{chat_id:chat_id,text:full_text})注意sendMessageDraft是一个较新的方法。请在你使用的 API 版本中检查其可用性。
RELATED

相关推荐

RS-232与DB-9串口通信完全指南:引脚定义、接线与万用表实测技巧

RS-232与DB-9串口通信完全指南:引脚定义、接线与万用表实测技巧

最近帮一个朋友调试一台老旧工控设备,对方很无奈地摊手说:“这破机器居然只有串口,连个网口都没有。”我拿起那根积灰多年的DB-9线缆,突然意识到一个事实:哪怕在USB、以太网、CAN FD满天飞的今天,RS-232和D…

📅 2026/10/3 2:26:34
LKDS3.Linux内核的双向链表代码解析(3) 进程树遍历(上) 前置知识: children、sibling、real_parent、parent以及ptrace()调试进程

LKDS3.Linux内核的双向链表代码解析(3) 进程树遍历(上) 前置知识: children、sibling、real_parent、parent以及ptrace()调试进程

目录 1.内核串联进程的方法 全局的进程链表 父子进程链表 children sibling real_parent和parent的含义和区别 实验1: 普通情况 测试父进程创建子进程父子进程不退出 lx_task_by_pid() 测试父进程创建子进程父进程退出子进程不退出 实验2: 特殊情况: ptrace() ptra…

📅 2026/10/3 2:26:34
对主从复的理解

对主从复的理解

1. 什么是主从复制?作用是什么? 参考答案: 主从复制就是把主节点(master) 的数据,同步到从节点(slave/replica)。 master:负责接收写请求;slave:复制master数据,一般只提供读服务。…

📅 2026/10/3 2:26:34
MORE NEWS

更多资讯

📰

提示工程+LoRA微调:让大模型生成可直接进CI的Java单元测试

1. 项目概述1.1 为什么想做这个项目说实话,让大语言模型帮你写单元测试用例这件事,听起来很爽,但真正做起来全是细节。我在维护一个中大型Java服务时,每天最烦的就是写那些重复的测试代码:构造函数塞参数、Mock依赖、断…

📰

Windows装Redis全攻略:从MSI安装到配置调优与故障排查

Windows装Redis这件事,我前前后后折腾了不下十次,很多坑都是血泪教训。最典型的一幕是:新同事照着某些“教程”去Redis官网下载Windows安装包,结果官网根本没有Windows版,当场傻眼。后来我帮他用社区维护的MSI包装上了…

📰

西储大学轴承数据集故障诊断平台(Windows本地版)

简介:本资源是一款基于西储大学轴承数据集开发的故障诊断仿真平台,面向机械故障诊断、信号处理与智能运维方向的初学者及高校科研人员,提供从数据加载、特征提取到模型训练与实时诊断的完整实践流程。压缩包共31个文件,含11个Pyth…

📰

MuJoCo+PPO实战:Ant/Hopper/Humanoid稳定训练全指南

简介:本资源是一份基于PyTorch实现的近端策略优化(PPO)强化学习算法代码包,专为MuJoCo物理仿真环境中的经典控制任务设计,适用于强化学习初学者与进阶研究者开展算法复现、超参调优及策略训练实践。资源包含13个文件&a…

📰

BoXueGu压缩包项目实战:从解压到新功能验证的完整指南

简介:本资源面向Android初学者与进阶开发者,在原有博学谷项目基础上新增圆形头像、欢迎界面倒计时、找回密码后自动跳转、签到、更换头像五个实用功能,适合用于课程设计、毕业设计或Android技能巩固练习。压缩包共383个文件,约45.…

📰

JavaCC实战:完整构建类C编译器课设,从词法分析到栈帧可视化

简介:该资源为重庆理工大学编译原理课程设计完整项目,面向学习JavaCC与类C语言编译器实现的本科生,可用于课程设计、期末复习或实验参考。项目基于JavaCC完成类C语言编译器的词法分析、语法分析及语义处理,采用递归下降方法实现语…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬