使用Python向 Telegram 用户发送消息
你有没有想过人们如何在 Telegram 上实现自动化?您可能知道 Telegram 拥有庞大的用户群,因此它是阅读人们的首选社交媒体之一。 Telegram 的好处是它提供了一堆 API 的方法,不像 Whatsapp 限制这些东西。所以在这篇文章中,我们将分享如何使用Python向 Telegram 用户发送消息。
入门
首先,使用 Telegram BotFather 创建一个机器人。要创建 BotFather,请按照以下步骤操作 -
- 打开电报应用程序并搜索@BotFather。
- 单击开始按钮或发送“/start”。
- 然后发送“/newbot”消息来设置名称和用户名。
- 设置名称和用户名后,BotFather 会给你一个 API 令牌,它是你的机器人令牌。
然后在电报上创建一个应用程序。请按照以下步骤操作 -
- 登录电报核心:https://my.telegram.org
- 转到“API 开发工具”并填写表格。
- 您将获得用户授权所需的api_id和api_hash参数。
需要的模块
您需要几个Python库导入才能使脚本正常运行。
- telebot:要安装此模块,请在终端中键入以下命令。
pip install telebot
- telethon:要安装此模块,请在终端中键入以下命令。
pip install telethon
下面是实现。
Python3
# importing all required libraries
import telebot
from telethon.sync import TelegramClient
from telethon.tl.types import InputPeerUser, InputPeerChannel
from telethon import TelegramClient, sync, events
# get your api_id, api_hash, token
# from telegram as described above
api_id = 'API_id'
api_hash = 'API_hash'
token = 'bot token'
message = "Working..."
# your phone number
phone = 'YOUR_PHONE_NUMBER_WTH_COUNTRY_CODE'
# creating a telegram session and assigning
# it to a variable client
client = TelegramClient('session', api_id, api_hash)
# connecting and building the session
client.connect()
# in case of script ran first time it will
# ask either to input token or otp sent to
# number or sent or your telegram id
if not client.is_user_authorized():
client.send_code_request(phone)
# signing in the client
client.sign_in(phone, input('Enter the code: '))
try:
# receiver user_id and access_hash, use
# my user_id and access_hash for reference
receiver = InputPeerUser('user_id', 'user_hash')
# sending message using telegram client
client.send_message(receiver, message, parse_mode='html')
except Exception as e:
# there may be many error coming in while like peer
# error, wrong access_hash, flood_error, etc
print(e);
# disconnecting the telegram session
client.disconnect()