Python 向Telegram用户发送消息
全世界有数以百万计的用户在使用Telegram这个消息传递程序。此外,Telegram还有一些API,允许我们建立机器人并自动传输消息。因此,在这篇文章中,我们将利用Python来向Telegram用户传递消息。
你可能知道,Telegram是最受欢迎的读书人社交媒体平台之一,因为它的用户基数很大。Telegram的优势在于它提供了多种API方法,而WhatsApp则对这些方法有限制。因此,在这篇文章中,我们将解释如何利用Python向Telegram用户转发文本。
使用Python与Telegram频道通信的第1步是建立一个Telegram机器人。
一个名为Telethon的库被用来访问Telegram的API。由于它简单易懂,所以不需要事先了解。Tkinter有部件,所以我们利用它来建立应用程序的图形用户界面。
它在Python中默认是可用的。导入以检查是否可用。
在构建Telegram机器人时,你会收到一个 apiToken 和一个 chatID ,你将在Python脚本中使用它们来联系Telegram API并发送消息。
本说明中提供了使用API向Telegram传输消息、照片和其他类型内容的Python脚本的例子。
开始行动
首先,使用Telegram BotFather来构建一个机器人。按照下面的步骤来构建一个BotFather。
- 在telegram应用程序中搜索@BotFather,一旦它被打开。
- 发送命令”/开始 “或点击开始按钮。
- 之后,发送”/newbot”,创建一个用户名和名字。
- 当你输入名字和登录时,BotFather将向你发出一个API令牌,作为你的机器人令牌。
- 然后在telegram上创建一个应用程序。
- 按照以下步骤进行。
- 登录到telegram核心 :https://my.telegram.org
- 进入 “API开发工具”,填写表格。
- 你会得到用户授权所需的api_id和api_hash参数。
- 访问Telegram的API网址,以获得代码和API ID。在结果页面上点击下一步按钮后,输入你的电话号码以及国家代码和你通过Telegram获得的密码或通行证。
需要的模块
为了使脚本能够运行,你需要导入一些Python库。
telebot: 在终端输入以下命令来安装这个模块。
telethon: 在终端机中输入下面的命令来安装这个模块。
代码
# importing all required libraries
import telebot
from telethon.sync import TelegramClient
from telethon.tl.types import InputPeerUser, InputPeerChannel
from telethon import TelegramClient, sync, events
# as said previously, obtain your API ID, API Hash, and Token from Telegram.
api_id = 'API_idin'
api_hash = 'API_hashing'
token = 'bot in token'
message = "Working..."
# phone number
phone = 'YOUR PHONE NUMBER WTH COUNTRY CODE'
# establishing a telegraph session and
# allocating it to a movable client
client = TelegramClient('session', api_idin, api_hashing)
# creating the connection and the session
client.connect()
# If the script is run for the first time, it will prompt you to enter a token, an #OTPSentTo
# number, your Telegram ID, or both.
if not client.is_user_authorized():
client.send_code_request(phone)
# signing of the client
client.sign_in(phone, input('Enter the code: '))
try:
# Use
# my user id and access hash as a reference when
#using the receiver user-id and access-hash.
receiver = InputPeerUser('user_id', 'user_hash')
# using the Telegram client to send a message
client.send_message(receiverin, messagean, parse_mode='html')
except Exception as e:
# There may be numerous errors, such as peer
# error, incorrect access hash, flood error, etc.
print(e);
# cutting off the Telegram conversation
client.disconnect()
代码解析 。
从Telethon导入 事件,同步,和Telegram客户端。
我们可以选择用Telethon通过电话号码或用户名联系Telegram用户。关于Python库的更多信息,请咨询Telethon。从tkinter导入的信息。
我们从tkinter import messagebox中导入tkinter,以便使用tkinter部件来构建用户界面。
对话框存在于消息框中,用于告知用户错误或警告。
当第一次使用Telegram时,必须提供一个电话号码,并且必须向这个电话传递一个代码以授权访问。在命令行中,这将发生。你也可以确认新添加的设备有第1步提供的应用程序的缩写名称。