python版电报API接入从零到一(有彩蛋)

news2024/10/6 5:33:51

在这里插入图片描述

文章链接

编号分类文章及链接介绍作者来源分类撰写日期收录日期
F1框架python版telegram接入开源botpython-telegram-botGithub2023-04-24

申明:本文仅作试验研究用,不对参考本文操作产生的各种结果承担任何责任。

Q&A

使用Telegram的API需要交费吗?

使用Telegram的API令牌不需要付费,它是免费提供的。任何人都可以通过创建一个Telegram账户和使用BotFather创建一个Bot来获取一个API令牌,然后使用该令牌与Telegram服务器进行通信并创建自己的应用程序和机器人。然而,如果您的应用程序或机器人需要处理大量的消息或需要使用Telegram的高级功能,例如群组管理或频道管理,您可能需要购买Telegram的专业版服务,以获得更多的资源和功能支持。但是,大多数开发者使用Telegram的免费API令牌就可以完成大部分的开发任务。

Telegram的开发步骤

Telegram提供了API,使开发者能够使用各种编程语言与Telegram服务器进行通信并创建自己的应用程序和机器人。以下是Telegram开发的一般步骤:

  1. 创建一个Telegram账户并安装Telegram客户端。

  2. 创建一个Bot:使用Telegram的官方BotFather创建一个Bot,BotFather会分配一个API令牌,开发者可以使用该令牌与Bot进行通信。

  3. 选择开发语言和库:开发者可以选择使用任何编程语言和相关的库来与Telegram API进行交互,例如Python的python-telegram-bot库或Node.js的Telegraf库。

  4. 使用API与Bot进行交互:开发者可以使用API发送消息、接收消息、处理命令、处理回调等。例如,使用sendMessage方法向用户发送消息,或使用answerCallbackQuery方法回答回调查询。

  5. 部署应用程序或机器人:开发者可以选择将应用程序或机器人部署到自己的服务器上,或使用云托管服务,例如Heroku或AWS Lambda。

总之,Telegram的开发方式是通过API与Telegram服务器进行通信,并使用所选的编程语言和库来创建自己的应用程序和机器人。

上述回答来自ChatGPT

开发过程

1. 创建一个Telegram账户并安装Telegram客户端。

以下是创建一个Telegram账户并安装Telegram客户端的步骤:

  1. 打开Telegram官网(https://telegram.org/)并下载适用于您设备的Telegram客户端。Telegram客户端支持Windows、macOS、Linux、Android、iOS等多个操作系统,您可以根据您的设备类型选择适当的版本。

  2. 安装Telegram客户端并打开它。

  3. 在Telegram客户端中,您需要提供您的手机号码。Telegram会向您的手机号码发送一条确认短信,以验证您的身份。

  4. 输入您的姓名和个人资料信息。这些信息将用于您的Telegram账户。

  5. 创建您的用户名。用户名是唯一的,如果您的用户名已被使用,您将需要选择一个新的用户名。

  6. 现在您可以开始使用Telegram了。您可以搜索其他用户并开始与他们聊天,或加入与特定主题相关的频道和群组。

总之,创建一个Telegram账户并安装Telegram客户端非常简单,只需按照上述步骤操作即可。

2. 创建一个Bot

要创建一个Telegram Bot,请按照以下步骤操作:

  1. 在Telegram中搜索BotFather。BotFather是Telegram提供的一个官方Bot,您可以使用它来创建新的Bot。

  2. 启动BotFather,发送/start命令,BotFather会回复一条消息,列出一些可用的命令。

  3. 使用/newbot命令创建一个新的Bot。BotFather会要求您输入Bot名称和Bot用户名。

  4. 输入Bot名称和Bot用户名。Bot名称是Bot的显示名称,Bot用户名是唯一的,以“bot”结尾。

  5. BotFather会分配一个API令牌,您需要妥善保管这个API令牌,因为它将用于与Bot进行通信。

  6. 现在您已经成功创建了一个Telegram Bot。您可以使用API令牌与Bot进行通信,并使用各种API方法来发送和接收消息、处理命令和回调等。

在这里插入图片描述

3. 选择开发语言和库

Telegram 支持多种编程语言进行二次开发,包括 Python、JavaScript、Java、Go、Ruby,还支持其他编程语言进行二次开发,例如:C++, Swift, PHP 等。
如果是Python,当然选择python-telegram-bot库。

4. 使用API与Bot进行交互

下面是python-telegram-bot 2023年正式上线的V20.x版的最简单例子。用户在频道中输入/start命令,会得到“I’m a bot, please talk to me!”的回复。注意需要修改’TOKEN’为第二步申请到的Token,是一串数字+一些列字符组成的字符串。具体参考Extensions Your first Bot。

import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler

# 设置日志输出
logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    level=logging.INFO
)

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(chat_id=update.effective_chat.id, text="I'm a bot, please talk to me!")

if __name__ == '__main__':
    application = ApplicationBuilder().token('TOKEN').build()
    
    start_handler = CommandHandler('start', start)
    application.add_handler(start_handler)
    # 启动应答机器人
    application.run_polling()

5. 部署应用程序或机器人

通过执行类似如下命令,即可快速启动你的第一个telegram机器人。

python mytelegrambot.py

如果需要打包后部署,建议使用Pyinstaller等打包工具。

彩蛋

  1. 如何向电报用户推送消息,参考From Python to Telegram: Build your own Notification System
  2. 如何向电报用户推送图片,参考How to send photo on telegram bot

注意事项:

国内用户注意不能直接访问电报API接口,需要搭梯子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三顾茅庐,七面阿里,成功上岸25k16薪,我行你也行~

写在片头:声明,勿杠 首先简单说一下,这三次面试阿里并不是一次性去面的,实际上第一次面试时候还在大四,找的实习岗,不太清楚是什么部门,别问我为什么还记得面试题,有记录和复盘的习惯…

什么是OADM光分插复用器

文章导读: 什么是OADM光分插复用器 光分插复用器的功能 光分插复用器的类型(FOADM, TOADM) OADM的应用 1、什么是OADM光分插复用器 由不同的光通道进出单模光纤。 它的主要功能是在不影响其他波长信道传输的情况下,选择性地下载或…

Vue(监测数据改变、收集表单数据、过滤器)

一、监测数据改变原理 1. 监测对象数据改变原理 当数据发生改变之后:直接会显示数据改变(一种强硬写法) let data { name: "北京大学", address: "北京" };// 以下通过temp进行监视:还得还原temp值&#xf…

k8s 部署 ldap 服务

1、创建挂载卷,将数据和配置进行持久化存储 1.1、使用nfs作为共享存储 [rootlocalhost openldap_yaml]# cat /etc/exports /dump_file/openldap_db 172.21.53.0/24(rw,sync,no_root_squash,no_all_squash) /dump_file/openldap_conf 172.21.53.0/24(rw,sync,no_roo…

【Linux常见指令以及权限理解】基本指令(1)

写在前面: 相信看完上一个博客,我们已经成功搭建好了Linux环境, 如果没有可以去看看:Linux环境搭建。 接下来我会讲述Linux的常见指令以及权限理解相关内容。 这篇文章会介绍一些常用的Linux指令并穿插一些操作系统的概念理解…

巧用千寻位置GNSS软件|一文教会横断面测量

测横断面主要用于线路工程和水利工程的前期设计中,在线路平曲线设计好之后,千寻位置GNSS软件可用于在中桩处测定垂直于线路中线方向原地貌的地面起伏的数据,本期就为大家介绍具体的操作技巧。 点击【测量】->【测横断面】,选择…

ByteHouse云数仓版查询性能优化和MySQL生态完善

ByteHouse云数仓版是字节跳动数据平台团队在复用开源 ClickHouse runtime 的基础上,基于云原生架构重构设计,并新增和优化了大量功能。在字节内部,ByteHouse被广泛用于各类实时分析领域,最大的一个集群规模大于2400节点&#xff0…

( 栈和队列) 20. 有效的括号 ——【Leetcode每日一题】

❓20. 有效的括号 难度:简单 给定一个只包括 (,),{,},[,]的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合…

决策树入门、sklearn实现、原理解读和算法分析

文章目录 决策树入门决策树sklean实现决策树算法单/多变量决策树CART分类树算法 决策树分析复杂度控制特征重要性决策树特点 决策树入门 总算来到心心念念的决策树了。工作中一直在用xgb模型,今天开始,终于可以尝试去理解其背后的算法原理了。不过xgb较…

软件开发全套文档案例分享

写在前面 在日常项目开发过程中,会产生大量的过程文档,比如开发过程中的文档、管理过程中的文档、产品相关文档等等,那这些文档我们日常怎么去管理呢?怎么去做规划呢?如何做成通用标准呢?小编特地整理了一…

问卷中多选题如何分析?

一、案例与问卷 本研究选取大学生作为研究对象,旨在通过理财认知、理财现状、理财偏好三个方面,对大学生理财产品了解情况、使用需求进行调查。本次问卷共分为四个部分:第一部分共5道题,为基本信息题;第二部分共3道题…

换肤实现及LayoutInflater原理

文章目录 背景实现换肤步骤解析插件 apk 的包信息获取插件 apk 的 Resources 对象替换资源 简单的插件化换肤实现和存在的问题换肤如何动态刷新?控件换肤刷新的性能考虑如何降低 xml 布局中 View 的替换成本LayoutInflater 原理LayoutInflater.Factory2 替换 View 小…

antDesignPro6: 如何设置环境变量,取值自动根据不同环境,动态修改(3步)。

官网文档:环境变量 - Ant Design Pro Pro 脚手架默认使用 Umi 作为底层框架,在 Umi 内可通过指定 UMI_ENV 环境变量来区分不同环境的配置文件,UMI_ENV 需要在 package.json 内配置。当 UMI_ENV 为 test 时,则必须在 config 目录下…

二十、线索关联市场活动(二):关联

功能需求 用户在线索明细页面,点击"关联市场活动"按钮,弹出线索关联市场活动的模态窗口; 用户在线索关联市场活动的模态窗口,输入搜索条件,每次键盘弹起,根据名称模糊查询市场活动,把所有符合条件的市场活动显示到列表中; 用户选择要关联的市场活动,点击"关联…

电销CRM客户关系管理系统开发12大核心功能

电销CRM管理系统软件是一款专门针对电销行业开发的客户关系管理软件,它能够帮助企业实现对顾客信息的可视化,智能化,自动化管理,提高电销效率和客户满意度。电销行业在传统互联网营销,新媒体营销,短视频营销…

PINNs与DeepXDE:加速物理计算模型

《AIScience系列(一):飞桨加速CFD(计算流体力学)原理与实践》 https://baijiahao.baidu.com/s?id1728002499252273827&wfrspider&forpc 前言 AIScience专栏由百度飞桨科学计算团队出品,给大家带来…

dubbogo中将kubernetes作为注册中心 -- 阅读官方文档

Kubernetes服务发现模型 为了明确 K8s 在服务接入管理提供的解决方案,我们以 kube-apiserver 提供的 API(HTTPS) 服务为例。K8s 集群为该服务分配了一个集群内有效的 ClusterIP ,并通过 CoreDNS 为其分配了唯一的域名 kubernetes 。如果集群内的 Pod 需…

不用先存盘直接显示附件内容

大家好,才是真的好。 有些需求总是很小众,但是还是被人需要。 Notes从来可以满足这种需求。 其实使用Notes客户机可以直接打开嵌入到文档中的附件,例如Txt文本、Word或PDF附件等。 不过有人提出,能否直接从Notes文档中的附件读…

CDGP|数据监管越来越严,数据治理发展何去何从?

尽管数据监管越来越严格,但仍然存在许多机会。事实上,数据监管的加强可能会促进金融科技行业更好地运用数据,激发金融科技行业更多的创新和合作,创造更多的价值和机会。 推动金融机构重视数据安全和隐私保护 促使他们采取更严格的安全措施&a…

尚硅谷大数据技术Spark教程-笔记05【SparkCore(核心编程,累加器、广播变量)】

视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01【SparkCore(概述、快速上手、运行环境、运行架构)】尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程,RDD-核…