如何以编程方式发送和接收 Telegram 消息?

xpe*_*tor 5 telegram

我想创建一个应用程序,通过电话号码和/或电报 ID 向不同的人发送电报消息。

我听说过“Telegram Bot API”,但据我了解,它有一些限制(比如除非用户授权并向其发送第一条消息,否则它无法发送消息,并且它不支持使用电话发送消息数字)

还有“Telegram API”,看起来需要大量工作和编码..?我是一名 1 人开发人员,我不想花费数年时间从头开始创建一个与 Telegram 服务器通信并执行所有协议的 Telegram 应用程序,然后我必须不断更新它,依此类推。

我只想要一些易于编码和维护的东西,并且可以使用我的电报帐户以编程方式发送/接收消息。就是这样。就像是 :

send.message(phone number, message)
Run Code Online (Sandbox Code Playgroud)

或某种 REST API,让我可以验证我的电报帐户,然后提供可用于向联系人发送消息的方法。

关于如何实现这一点有什么想法吗?任何指示将不胜感激!

Tib*_*. M 4

查看 MTProto 库,例如telethonPyrogram。它们是用户友好的(有很多帮助函数来抽象原始 telegram api 调用,并且它们的界面有点类似于 telegram bot api)

这是示例代码(来自电视马拉松文档):

from telethon import TelegramClient

# Remember to use your own values from my.telegram.org!
api_id = 12345
api_hash = '0123456789abcdef0123456789abcdef'

client = TelegramClient('anon', api_id, api_hash)

async def main():
    # You can send messages to yourself...
    await client.send_message('me', 'Hello, myself!')
    # ...to some chat ID
    await client.send_message(-100123456, 'Hello, group!')
    # ...to your contacts
    await client.send_message('+34600123123', 'Hello, friend!')
    # ...or even to any username
    await client.send_message('TelethonChat', 'Hello, Telethon!')

with client:
    client.loop.run_until_complete(main())
Run Code Online (Sandbox Code Playgroud)

  • 为了解决您的担忧,我提到的两个库确实都有一大堆直观的辅助方法(抽象整个协议)并且非常稳定(即使在电报更新时也能维护其接口)。是的,您可以使用他们创建一个脚本来简单地验证帐户并发送消息并退出,而不需要保持脚本运行侦听更新。(我刚刚分享的代码片段正是这样做的)关于文档,您只需要阅读几页关于如何使用这些方法的内容,因为您不需要了解底层协议来使用它们 (2认同)