当前位置: 首页 > news >正文

Telegram机器人开发

  1. 注册机器人 :使用Botfather 按照提示快速注册,会得到一串密钥 格式类似 7878875019:BAGQ9AihJyE5jmSoWMt4O1j1CQThjfwR0nk
# !/usr/bin/python3
# -*- coding:utf-8 -*-
"""
@author: JHC000abc@gmail.com
@file: TelegramBot.py
@time: 2025/3/30 14:55 
@desc: 

"""

from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, CallbackContext


class TwitterBot:
    """

    """

    def __init__(self, bot_token):
        self.bot_token = bot_token

    async def parse_functions(self, text):
        """

        :param text:
        :return:
        """
        val = ""
        try:
            args = text.split(" ")
            if len(args) < 2:
                key = args.strip()
                if key in ("show", "showb"):
                    print(f"收到命令:{key}")
                else:
                    print("未知命令")
            else:
                key, val = args
                val = val.strip().replace(" ", "")
                print(f"收到命令:{key} value:{val}")
        except Exception as e:
            print("未知命令", traceback.format_exc())

        return val

    async def start(self, update: Update, context: CallbackContext) -> None:
        """

        :param update:
        :param context:
        :return:
        """
        # 自定义参数解析处理
        await self.parse_functions(update.message.text)
        msg = (f"这是一个*Twitter*配置机器人\n当前支持命令:`/add` `/del` `/show` `/web` `/sleep` \n"
               f" `/addb` `/delb` `/showb` `/webb` `/sleepb`")
        # 通过机器人给用户回复消息
        await context.bot.send_message(chat_id=update.effective_chat.id,
                                       text=msg, parse_mode='Markdown')
        return

    
    def process(self):
        application = ApplicationBuilder().token(self.bot_token).build()
        # 注册机器人命令
        application.add_handler(CommandHandler('start', self.start)

        print("当前机器人已启动")
        application.run_polling(allowed_updates=Update.ALL_TYPES)


if __name__ == '__main__':
	# 机器人密钥
    token = "7878875019:BAGQ9AihJyE5jmSoWMt4O1j1CQThjfwR0nk"
    tb = TwitterBot(token)
    tb.process()

相关文章:

  • Arduino示例代码讲解:LED bar graph LED线条图
  • 基于vue框架的重庆美食网站的设计与实现kt945(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 链表和数组的效率
  • 无人驾驶是自动化还是智能化?
  • 玩转MCP:用百度热搜采集案例快速上手并接入cline
  • 2024华为OD机试真题-任务最优调度(C++/Java/Python)-E卷-200分
  • 过滤震荡行行策略思路
  • 『不废话』之Llama 4实测小报
  • Mistral 7B 模型结构讲解与训练过程分析:小尺寸,好效果
  • 使用 MyBatis-Plus 实现高效的 Spring Boot 数据访问层
  • RESTFul是什么
  • 双系统ubuntu20.04不能外接显示器的解决办法
  • 【计网】TCP 协议详解 与 常见面试题
  • 【langchain4j系列教程-02】Langchain4j调用DeepSeek
  • 2025年3月30日(sigmoid-hil)
  • #Linux内存管理# 在系统启动时,ARM Linux内核如何知道系统中有多大的内存空间?
  • R语言的嵌入式图形界面
  • Python基础:函数基础
  • 常见优化器总结(附原理、公式与优缺点)
  • Windows安装 PHP 8 和mysql9,win下使用phpcustom安装php8.4.5和mysql9
  • 怎样做网站呢 优帮云/网站seo最新优化方法
  • 外贸网站如何做推广/宁波seo企业推广
  • 企业网站建设网页/口碑好的设计培训机构
  • 长沙网站制作公司推荐/网络营销在哪里学比较靠谱
  • 公司必备的几个部门/充电宝关键词优化
  • 做儿童网站赚钱吗/武汉网站排名推广