如何在没有机器人的情况下在node.js中接收我自己的电报消息

2024-03-24

我想在nodejs(一个例子)中有一个非常简单的客户端,它可以接收来自我的电报联系人的消息。我刚刚在互联网上搜索,但只得到了机器人样本。我想接收群组消息,但我无权向我的机器人授予权限,因此我想知道我是否可以在没有机器人作为中介的情况下接收自己的消息。


Well...其他答案给出了例子无人维护图书馆。因此,您不应该依赖这些库。

See: telegram.link 已失效 https://github.com/enricostara/telegram.link/issues/36


您应该使用最新的 Telegram 客户端库,它是电报 mtproto https://github.com/zerobias/telegram-mtproto

1. 获取您的api_id and api_hash from:

电报应用程序 https://core.telegram.org/api/obtaining_api_id

2. 安装所需的客户端库:

npm install telegram-mtproto@beta --save

3. 初始化您的 Node.js 应用程序 with api_id and api_hash你从电报应用程序 https://my.telegram.org/auth?to=apps和你的phone number:

import MTProto from 'telegram-mtproto'

const phone = {
  num : '+90555555555', // basically it is your phone number
  code: '22222' // your 2FA code
}

const api = {
  layer          : 57,
  initConnection : 0x69796de9,
  api_id         : 111111
}

const server = {
  dev: true //We will connect to the test server.
}           //Any empty configurations fields can just not be specified

const client = MTProto({ server, api })

async function connect(){
  const { phone_code_hash } = await client('auth.sendCode', {
    phone_number  : phone.num,
    current_number: false,
    api_id        : 111111, // obtain your api_id from telegram
    api_hash      : 'fb050b8fjernf323FDFWS2332' // obtain api_hash from telegram
  })
  const { user } = await client('auth.signIn', {
    phone_number   : phone.num,
    phone_code_hash: phone_code_hash,
    phone_code     : phone.code
  })
      console.log('signed as ', user);
    }

    connect();

4. 接收消息(有趣的部分!????????‍????)

const telegram = require('./init') // take a look at the init.js from the examples repo

const getChat = async () => {
  const dialogs = await telegram('messages.getDialogs', {
    limit: 50,
  })
  const { chats } = dialogs;
  const selectedChat = await selectChat(chats);

  return selectedChat;
}

此外,看一下原始存储库中的示例:

  • 使用示例 https://github.com/zerobias/telegram-mtproto/tree/master/examples
  • 读取聊天记录 https://github.com/zerobias/telegram-mtproto/blob/master/examples/chat-history.js
  • 更新个人资料信息 https://github.com/zerobias/telegram-mtproto/blob/master/examples/update-profile.js
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在没有机器人的情况下在node.js中接收我自己的电报消息 的相关文章

随机推荐

  • 使用具有应用程序权限的 Microsoft Graph API 时,租户没有 SPO 许可证

    当我们尝试访问 Microsoft Graph v1 0 API 中的 Sharepoint 终结点时 我们收到 400 错误 并显示消息 租户没有 SPO 许可证 我们已经注册了 Azure AD 应用程序并为相关端点分配了应用程序权限
  • 为什么函数返回 nil FireBase Swift [重复]

    这个问题在这里已经有答案了 为什么函数会返回 nil 我尝试添加 DispathQue 但我不明白它应该如何正确 请帮忙 func storagePutData uid String image UIImage compretition e
  • Spring 中的 Hibernate 事务管理器配置

    在我的项目中 我使用 Hibernate 进行编程事务划分 每次在我的服务方法中我都会写类似的东西 Session session HibernateUtil getSessionFactory openSession session be
  • 这样做的目的是什么(MyJobject as ILocalObject).GetObjectID

    在delphi Tokyo源代码中 我看到这两种不同的方式来检索 服务经理 var FLocationManager JLocationManager FLocationManager TJLocationManager Wrap TAnd
  • express-jwt 不尊重未受保护的路径

    有关express jwt模块的信息可以在这里找到 https github com auth0 express jwt https github com auth0 express jwt https www npmjs com pack
  • 让笑话在故事书中全球可用

    我在用 storybook react 6 in a create react app项目 我对所有商店 对象等进行了数千次测试和模拟 这些模拟利用jest fn 我想在我的故事书故事中重复使用这些模拟 但它说jest is not def
  • neo4j 使用选项卡加载 CSV

    我正在尝试使用以下命令加载 csv 并在 neo4j 2 1 0 中创建节点 使用定期提交 从 file c temp listings TXT 加载 CSV AS 行 FIELDTERMINATOR t CREATE p person i
  • mmap 与 fileinput 的优点

    我读到 mmap 比 fileinput 有优势 因为它会将页面读入内核页面缓存并在用户地址空间中共享该页面 而 fileinput 实际上将一个页面带入内核并将一行复制到用户地址空间 因此 文件输入会产生额外的空间开销 所以 我打算转向
  • 如何在 PostgreSQL 的函数内编写WITH(CTE)

    我正在尝试使用 WITH 它是 PostgreSQL 函数中的公共表表达式 以下是示例 Example Create or replace function withFunction returns void as Body Begin W
  • 变换比例导致间隙/线条

    我目前正在构建一个网站 但遇到了问题transform scale 我有一个按钮 当用户将鼠标悬停在它上面时 会发生两件事 背景沿对角线 扫过 按钮标签颜色改变 按钮稍微变大 我已经完成了这个工作 看起来非常好 但是在实施之后3 当按钮变大
  • dlclose 上不会调用共享库中全局静态变量的析构函数

    在主程序中 我dlopen and dlclose LoadLibrary and FreeLibrary分别 一个共享库 共享库包含一个实例化的静态变量dlopen 并销毁于dlclose 此行为在 MSVC 2008 和 2013 GC
  • 如何分割逗号分隔的字符串,同时忽略转义逗号?

    我需要编写 StringUtils commaDelimitedListToStringArray 函数的扩展版本 它获取一个附加参数 转义字符 所以打电话给我的 commaDelimitedListToStringArray test t
  • Docker 用户无法写入已安装的文件夹

    我有以下设置 selenium chrome image selenium node chrome debug 3 141 59 neon container name chrome e2e depends on selenium hub
  • 如何在 Cloudformation 模板中使列表项成为条件?

    我有以下创建代码管道的云形成模板 该管道分为三个阶段 Stages Name Source Actions Name Source ActionTypeId Category Source Owner ThirdParty Version
  • 如何在tf-slim中使用evaluation_loop和train_loop

    我正在尝试实现一些不同的模型并在 CIFAR 10 上训练它们 我想使用 TF slim 来做到这一点 看起来 TF slim 有两个在训练期间有用的主要循环 train loop 和 evaluation loop 我的问题是 使用这些循
  • mod_deflate 与 Django GZipMiddleware,使用哪一个进行部署?

    我们正在使用 Apache 2 2 mod wsgi 部署 Django 应用程序 我们应该在 Apache 中启用 mod deflate 还是使用 Django 的 GZipMiddleware 哪个选项表现更好 你可能应该测试一下才能
  • Directory.GetFiles 查找不存在的文件

    我刚刚偶然发现了一个没有记录的行为GetFiles中的方法System IO Directory 每当searchPattern传递给该方法的参数包含保留的 Windows 设备名称 例如 nul or aux bmp 该方法返回一个包含不
  • 在android中将图像和视频发送到服务器

    我正在创建一个用于拍摄照片和视频的 Android 应用程序 捕获图像后 我想将带有日期和一些文本的图像发送到网络服务器 在服务器端 我正在使用这些图片和视频制作一个应用程序 拍摄的图像将保存在存储卡中 如何使用 JSON 发送带有文本的图
  • 如何获取Jupyter Notebook的路径?

    有没有获取Notebook路径的函数 我在谷歌上搜索了一些关于这个主题的信息 但没有找到一个简单的方法 我想获得笔记本的路径 这样我就可以在其他地方使用它 这样我就可以在与笔记本相同的路径中保存 使用文件 而不必担心它的保存位置 现在我的解
  • 如何在没有机器人的情况下在node.js中接收我自己的电报消息

    我想在nodejs 一个例子 中有一个非常简单的客户端 它可以接收来自我的电报联系人的消息 我刚刚在互联网上搜索 但只得到了机器人样本 我想接收群组消息 但我无权向我的机器人授予权限 因此我想知道我是否可以在没有机器人作为中介的情况下接收自