📌  相关文章
📜  使用Python向 Telegram 用户发送消息

📅  最后修改于: 2022-05-13 01:54:33.340000             🧑  作者: Mango

使用Python向 Telegram 用户发送消息

你有没有想过人们如何在 Telegram 上实现自动化?您可能知道 Telegram 拥有庞大的用户群,因此它是阅读人们的首选社交媒体之一。 Telegram 的好处是它提供了一堆 API 的方法,不像 Whatsapp 限制这些东西。所以在这篇文章中,我们将分享如何使用Python向 Telegram 用户发送消息。

入门

首先,使用 Telegram BotFather 创建一个机器人。要创建 BotFather,请按照以下步骤操作 -

  • 打开电报应用程序并搜索@BotFather。
  • 单击开始按钮或发送“/start”。
  • 然后发送“/newbot”消息来设置名称和用户名。
  • 设置名称和用户名后,BotFather 会给你一个 API 令牌,它是你的机器人令牌。

然后在电报上创建一个应用程序。请按照以下步骤操作 -

  • 登录电报核心:https://my.telegram.org
  • 转到“API 开发工具”并填写表格。
  • 您将获得用户授权所需的api_idapi_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()