当前位置:首页 > Telegram营销 > 正文内容

跨境电商卖家如何创建一个非常简单但实用的Telegram电报机器人?

在这篇文章中,我们(公众号:耀阳会跨境电商)将学习如何使用 Python 和 Telethon 库开发一个电报机器人:

2024-01-23_172743 telegram bot 900net.png步骤1:预先设置

在开始编写实际代码之前,您需要在 Telegram API 中注册为开发者。为此,请访问 https://core.telegram.org/api/obtaining_api_id 并按照步骤获取您的 api_id 和 api_hash。您需要一个电话号码和在您的设备上安装的 Telegram 才能收到确认码。在此过程中,您还将被要求输入一些关于您计划开发的应用程序的详细信息。

然后打开 Telegram 应用程序,搜索 @BotFather 并开始聊天。输入:/newbot,它会要求您输入您的姓名和用户名。输入这些信息后,您将获得机器人的访问令牌。

步骤2:设置

使用 Python 进行软件开发时,一种基本的方法是在您的机器上安装 Python,通过终端安装所有需要的库,将所有代码写入一个 .py 文件,并在终端中运行您的 Python 程序。

这对于简单的 Python 脚本项目来说是可行的。但在复杂的软件开发项目中,比如构建一个 Python 库、一个 API 或一个软件开发工具包,您通常需要处理多个文件、多个包和依赖项。因此,您需要为该特定项目隔离您的 Python 开发环境。

那么,什么是虚拟环境?耀阳会(微信:yaoyanghui6)查阅Python 的官方文档,他们是这么注释的:

“虚拟环境是一个 Python 环境,其中安装的 Python 解释器、库和脚本与安装在其他虚拟环境中的 Python 解释器、库和脚本隔离,并且(默认情况下)与安装在“系统”Python 中的任何库隔离,即作为操作系统的一部分安装的 Python。”

Virtualenv 是一个用于设置 Python 环境的工具。自 Python 3.3 以来,它的一部分已被集成到标准库中,名为 venv 模块。您可以通过在终端中运行以下命令将 venv 安装到您的主机 Python:

pip install virtualenv

要在您的项目中使用 venv,请在您的终端中创建一个新的项目文件夹,在您的终端中 cd 到项目文件夹,并运行以下命令:

python<version> -m venv <virtual-environment-name>

比如这样:

mkdir BotApp

cd BotApp

python3.8 -m venv env

当您检查新的 BotApp 文件夹时,您会注意到已经创建了一个名为 env 的新文件夹。env 是我们虚拟环境的名称,但您可以将其命名为您想要的任何名称。

如何激活虚拟环境?

现在您已经创建了虚拟环境,在您可以在项目中使用它之前,您需要激活它。在 Mac 或 Linux 上,要激活您的虚拟环境,请运行以下代码:

source env/bin/activate

这将激活您的虚拟环境。您会立即注意到您的终端路径中包含 env,表示虚拟环境已激活。

请注意,要在 Windows 上激活您的虚拟环境,您需要运行以下代码:

env/Scripts/activate.bat //在 CMD 中

env/Scripts/Activate.ps1 //在 Powershell 中

一旦我们创建并激活了虚拟环境,我们就可以安装我们的库了。

要安装 Telethon,只需执行以下操作:

pip3 install telethon

步骤3:编码

我们(微信:yaoyanghui6)将要做的第一件事是创建一个名为 start.py 的文件,然后在其中初始化我们(公众号:耀阳会跨境电商)的 Telegram 客户端。这个类将成为您与 Telegram API 的主要接口,创建一个非常简单:

from telethon import TelegramClient, sync

在这里使用您从步骤 1 获得的自己的值

api_id = 12345

api_hash = '0123456789abcdef0123456789abcdef'

bot_token = ''

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

请注意,'session_name_file' 将用于将您的会话(如访问密钥和其他信息)保存为磁盘中的 'session_name_file.session'。

默认情况下,这是一个使用 Python 的 sqlite 数据库文件

在初始化机器人后,我们可以监听聊天中发生的任何事件。例如,当标题/描述被更改时,我们会收到一个 ChatAction 事件。在这个例子中,我们将监听群组中的任何传入消息,并用消息 ID 和发送者姓名进行回复。首先,我们需要创建一个负责处理这种特定事件的处理程序。

@client.on(events.NewMessage())

async def readMessages(event):

复制

# 首先我们获取用户信息user = await client.get_entity(event.peer_id.user_id)id = user.idname = user.first_namelastName = user.last_name

username = user.username

复制

# 然后我们构建我们想要回复的消息:respondMessage = "Message sender: %s @%s, with id: %s"%( name + ' ' + lastName if lastName is not None else name, username, id )# 然后我们通过回复收到的消息来发送回消息await event.reply(respondMessage)

使用注释 @client.on(events.NewMessage()) 我们告诉 bot 实例在新的消息事件上向我们的客户端注册一个事件侦听器。

一旦您准备好一个客户端,只需 .start() 即可:

client.start(bot_token='bot_token')

这行代码连接到 Telegram,检查当前用户是否被授权,如果不是,它将开始登录或注册过程。

当您完成您的代码时,您应该总是断开连接:

client = TelegramClient(...)

try:

复制

client.start(bot_token='bot_token')# 在控制台中创建一个日志或打印一条消息,指示机器人已启动。

finally:

复制

client.disconnect()# 在控制台中创建一个日志或打印一条消息,指示机器人已停止。

整个脚本看起来像这样:

from telethon import TelegramClient, sync

在这里使用您从步骤 1 获得的自己的值

api_id = 12345

api_hash = '0123456789abcdef0123456789abcdef'

bot_token = '0123456789:AbCdeFGHIjklMnoPQRstUvWXYz'

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

请注意,'session_name_file' 将用于将您的会话(如访问密钥和其他信息)保存为磁盘中的 'session_name_file.session'。

默认情况下,这是一个使用 Python 的 sqlite 数据库文件

@client.on(events.NewMessage())

async def readMessages(event):

ini

复制

# 首先我们获取用户信息user = await client.get_entity(event.peer_id.user_id)id = user.idname = user.first_namelastName = user.last_nameusername = user.username# 然后我们构建我们想要回复的消息:respondMessage = "Message sender: %s @%s, with id: %s"%( name + ' ' + lastName if lastName is not None else name, username, id )# 然后我们通过回复收到的消息来发送回消息await event.reply(respondMessage)

try:

复制

client.start(bot_token='bot_token')# 在控制台中创建一个日志或打印一条消息,指示机器人已启动。

finally:

复制

client.disconnect()# 在控制台中创建一个日志或打印一条消息,指示机器人已停止。

然后,我们可以通过调用 python 脚本来运行我们的机器人:

(env)user@computer BotApp % python3 start.py

现在我们的机器人正在运行,我们可以在 Telegram 应用程序中搜索它并开始测试它。

耀阳会(微信:yaoyanghui6)分享在开发纸飞机机器人bot时,可能用到的重要链接如下:

Python 网页:https://www.python.org/

虚拟环境文档:https://virtualenv.pypa.io/en/latest/

Telethon 文档:https://docs.telethon.dev/

PythonTelethonTelegramTelegram BotTelegram Api

有关更多使用Telegram开发海外外贸客户的知识,可点此继续阅读也欢迎扫描下方二维码加入群讨论交流:

qr code yyh group lujin.jpg

扫描二维码推送至手机访问。

版权声明:本文由发布,如需转载请联系微信:yyh97779。

本文链接:https://yaoyanghui.net/post/TelegramBot.html

标签: Telegram营销
分享给朋友:

“跨境电商卖家如何创建一个非常简单但实用的Telegram电报机器人?” 的相关文章

用工具从其他人的telegram群中拉人到自己的自建群里面是怎样的技术原理?

用工具从其他人的telegram群中拉人到自己的自建群里面是怎样的技术原理?

截流是跨境卖家玩转Telegram营销的一个重要手段。在自建飞机群之后,拉人进群费时费力效力低下,且成本高企。耀阳会(微信:yaoyanghui6)发现有强制拉群工具,可以迅速为自己的群增加群成员。也就是首先刮取其他人的飞机群ID,然后将其拉到自己的群众。从其他人的 Telegram 群中拉人到自己...

派海量机器人强制在别人的telegram群里面批量发帖推广的技术原理是什么?

派海量机器人强制在别人的telegram群里面批量发帖推广的技术原理是什么?

在上节中,耀阳会(微信:yaoyanghui6)分享了:用工具从其他人的telegram群中拉人到自己的自建群里面是怎样的技术原理?除了把别人的群友直接拉到自己的群进行跨境电商营销推广,还可以直接派机器人bot去别人群里发帖推广。即使被踢出群,也可以派多个bot进群持续发帖,也是目前电报营销中较为常...

1,831字 | 如果Telegram账号“被双向”,导致飞机号无法加人和发消息给新好友,解除“抱歉,目前您只能给双向联系人发送消息”的7个步骤。

1,831字 | 如果Telegram账号“被双向”,导致飞机号无法加人和发消息给新好友,解除“抱歉,目前您只能给双向联系人发送消息”的7个步骤。

在上文分享中,我们讲解了:1,662字 | 如何解除iOS版电报Telegram纸飞机对Group群组和Channel频道的限制?除了群组和channel可能会被限制,耀阳会(微信:yaoyanghui6)发现,很多跨境电商卖家并不清楚自己的Telegram账号会被风控,而只是埋头苦干拼命加人、拼命...

4,716字  | 怎样通过虚拟号码大量注册Telegram、TikTok等IM和SNS账号? 100个虚拟号码平台和12个接码平台分享。

4,716字 | 怎样通过虚拟号码大量注册Telegram、TikTok等IM和SNS账号? 100个虚拟号码平台和12个接码平台分享。

如果你不是"工作室"、也不是"号商",那么手头的手机号码肯定有限,也就无法注册大量的Telegram、TikTok等账号。因为无论是注册Facebook,Instagram这些SNS账号,还是WhatsApp, Telegram等IM账号,几乎都绕不开手机短信...

2,669字 | 如果Telegram忘记了2fa二步验证密码造成无法登录怎么办?哪里有重新设置密码的入口??

2,669字 | 如果Telegram忘记了2fa二步验证密码造成无法登录怎么办?哪里有重新设置密码的入口??

耀阳会撸Sir(微信:yaoyangui6)希望提醒跨境电商卖家的是,因为Telegram的登录方式与众不同,不是通过账密登录,而是输入手机号后,发起登录码申请,然后需要在已经登录这个账号的设备上去收取密码,这样才能登陆上新设备或者浏览器。所以除了要保护好用于登录的设备之外,千万不能给任何人有获取登...