更新时间:2025 年 05 月 16 日
telegeram创建的自动回复机器人本身不支持直接的配置自动回复功能,如果想要利用Botfather进行自动回复,需要编写脚本,本文将为大家介绍telegeram自动回复机器人变成配置,以及具体的操作方法。
1、先选好合适的开发工具和框架。
2、向Bot Father 申请一个bot token
-首先在telegeram中搜索 botfather,并和botfather开始对话:
-按下"/start"之后,botfather会回复如下信息:
-完成了这两项后,botfather会给你bot专属的token:
-紧接着回复"/newbot"开始创建你的bot,botfather会要求你输入bot的名字和bot用户名,bot名会显示在搜索界面,而bot的username在搜索bot和添加bot入group的时候会起作用(你无法通过搜索bot名来添加bot如群组)。username必须以bot或者_bot(不区分大小写)结尾:如ABCBot,ABC_bot。
3、搭建基础
3.1、测试你的bot账户
你可以在python中输入如下语句来获取你的bot信息:
>>> import telepot #将telepot这个模组导入到Python中来
>>> bot = telepot.Bot('***** Your Token *****') #将bot这个在程序中使用的variable和你的bot token联系起来,在之后的程序中,每当要命令bot的时候可以直接call bot的instance
>>> bot.getMe() #getMe()是一个获取bot信息的function
{'first_name': 'Jean', 'username': 'MonsieurMadeleine', 'id': 24601} #在这里你的bot的信息将以一个dictionary的形式被print出来
3.2 接收消息
telegeram bot是无法主动向用户发送消息的(主要的目的是防止spam),所以你需要主动地通过指令以获取用户的信息:
>>> from pprint import pprint
>>> response = bot.getUpdates()
>>> pprint(response)
[{'message': {'chat': {'first_name': 'Jean',
'id': 24601.
'type': 'private'},
'date': 1564897562.
'from': {'first_name': 'Jean', 'id': 24601},
'message_id': 104152.
'text': 'I'm a stronger man by far!'},
'update_id': 100000000}]
3.3、持续地接受消息
在telepot中,MessageLoop是一个非常方便的处理信息的方式,如下:
>>> from telepot.loop import MessageLoop #导入MessageLoop
>>> def handle(msg): #在这里定义handle来告诉MessageLoop应该如何处理Message
... pprint(msg) #simply print message
...
>>> MessageLoop(bot, handle).run_as_thread()
MessageLoop需要两个argument,一个是你已经specify token的'bot',而另一个就是告诉MessageLoop如何处理信息的'method'(在这里我们将它命名为handle,可以将此method改成任意名字,只要在定义的时候,method只接收一个argument,那就是'msg')。
'run_as_thread'在这里起到了,只要启动了你的python file,那么这个MessageLoop就会永续不断地运行下去,除非遇到特殊情况(冲突或者恶性bug等等)
3.4、快速的Glance Message
telegram中的message作为一个json object,其中包含很多重要的而且可能会在一次Bot与用户的交互中多次使用的信息,而每次通过message对应的key来访问这些信息实在是有够麻烦,对此telepot提供了glance这一功能来快速获取message中的某些重要信息。
content_type, chat_type, chat_id = telepot.glance(msg)
在这条语句之后,telepot帮你快速查看了msg中的content type, chat type和chat id并且储存在了这三个variable中,在之后的代码里可以直接通过这些variable来访问相对应的信息。
Tip:glance的功能不限于只获取这三种信息(content type, chat type和chat id)而是所有在message中存在的legal key中的信息都可以获取。
3.5向用户发送信息
在telepot中,向用户发送信息这一功能是通过bot.sendMessage() 这一function实现的,sendMessage() take in 两个arguments,一个是你希望发送的用户的chat_id,另一个是你希望发送消息的文本。
bot.sendMessage(chat_id, text)
4、编写代码实现自动回复逻辑,如下:
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
# 定义命令处理函数
def start(update, context):
update.message.reply_text('Hi! I am your auto-reply bot.')
# 定义消息处理函数
def echo(update, context):
text = update.message.text
if "hello" in text:
context.bot.send_message(chat_id=update.message.chat_id, text="Hello! How can I help you?")
# 机器人主函数
def main():
TOKEN = 'YOUR_BOT_TOKEN' # 您的Telegram Bot Token
updater = Updater(TOKEN, use_context=True)
# 获取dispatcher来注册handler
dp = updater.dispatcher
# 注册命令handler
dp.add_handler(CommandHandler("start", start))
# 注册消息handler
dp.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))
# 启动机器人
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
显示更多帖子
telegeram的昵称仅此一个,无法重复使用也是唯一身份象征,并且telegeram支持使用手机号、用户名、扫码的方式来添加好友,昵称也就是用户名,修改后可以直接生成链接发送给其他人,这样既能保证用户信息安全,也能够让对方添加你为好友,以下为大家带来telegeram设定用户名的详细教程,附带如何转成链接。
2025 年 05 月 17 日telegeram支持多个设备同时登录一个号,但只有的总管理设备才能决定其他设备是否能够登录,如果用户发现有陌生账号登录,想要强制性解除登录的话,按照本文方式完成操作即可。
2025 年 05 月 16 日telegeram的隐私安全设置自定义空间非常大,开启安全设置不仅能避免自己的个人信息被泄露,也能预防账号被盗,到底在telegeram中如何设置能够保证账号最大安全程度呢,跟着本文提及的操作即可。
2025 年 05 月 16 日当在使用TG(telegeram)时群组突然提示为私密频道导致无法正常使用,意味着该群组或频道的访问权限被设置为私密,需要特定的邀请链接才能加入,以下是原因和解决方案。
2025 年 05 月 15 日