标签: telegram

如何在PHP中通过手机号码获取telegram上用户的聊天ID?

我也浏览了很多论坛和 telegram API。但无法得到正确的答案。

这是我的主要问题。我的数据库中有用户列表及其手机号码,我想通过这些用户的电报向他们发送消息。为此我需要他们的聊天 ID。我如何通过他们的手机号码检索该信息?如果我有聊天 ID,我可以使用以下参考向他们发送消息。

Telegram php 示例发送消息

我访问了以下链接,由用户自己手动从 BOT 获取聊天 ID。但我想要脚本自动执行。

如何获取特定用户的Telegram chat_id?

谢谢。

php telegram telegram-bot

1
推荐指数
1
解决办法
8376
查看次数

Try/Catch 不能防止崩溃

我正在使用telegraf bot 框架编写一个非常简单的 telegram-bot 。\n到目前为止,它使用.hears和回复了一些简单的命令.on,到目前为止一切正常。

\n\n

现在我实现了另一种.hears等待字符串的方法Miez。一旦它“听到”这个字符串,它就应该.replyWithDocument包含一个cat-api url。根据 cat-api 的 URL 在每次调用时都会提供一个随机的 cat-gif。到目前为止我的代码:

\n\n
const Telegraf = require(\'telegraf\')\n\nconst app = new Telegraf(\'<MY_TOKEN>\')\n\n// Connect/Express.js integration\nconst express = require(\'express\')\nconst expressApp = express()\n\nexpressApp.set(\'port\', (process.env.PORT || 5000));\n\n\napp.command(\'start\', (ctx) => {\n  console.log(\'start\', ctx.from)\n  ctx.reply(\'Welcome!\')\n})\n\napp.hears(\'Hi\', (ctx) => ctx.reply(\'Hallo!\'))\napp.hears(\'Marco\', (ctx) => ctx.reply(\'Polo\'))\napp.on(\'sticker\', (ctx) => ctx.reply(\'\xe2\x9d\xa4\'))\n\napp.hears(\'Miez\',(ctx) => {\n    try{\n          return ctx.replyWithDocument({\n            url: \'http://thecatapi.com/api/images/get?format=src&type=gif\',\n            filename: \'cat.gif\'\n          })\n\n       }catch(error){\n            return ctx.reply("Miau");\n       }\n})\n
Run Code Online (Sandbox Code Playgroud)\n\n

正如您所看到的,我将其包装.replyWithDocument在 try/catch 块中。我这样做是因为给定的 …

javascript heroku telegram telegram-bot telegraf

1
推荐指数
1
解决办法
2317
查看次数

在电报机器人中使用编辑消息

我正在尝试在电报机器人中编辑消息。我正在使用以下代码。我可以毫无问题地发送消息,但编辑消息部分不起作用。它只是没有任何作用!

   <?php

if ($_SERVER['HTTPS'] != "on") {
$url = "https://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
header("Location: $url");
exit;
}

$botToken="XXXX...";
$website="https://api.telegram.org/bot".$botToken;

$content = file_get_contents("php://input");
$update = json_decode($content, true);
$chatId = $update["message"]["chat"]["id"];
$message = $update["message"]["text"];

switch($message) {
    case("action"):
                sendMessage($chatId, "What should I do?");
    break;

    case("add"):
        editMessageText($chatId, "should I add?");

    break;

default:
    sendMessage($chatId, "default");
}

function sendMessage($chatId, $message) {

$url = $GLOBALS[website]."/sendMessage?    chat_id=".$chatId."&text=".urlencode($message)."&reply_markup".$reply1;
file_get_contents($url);
}

function editMessageText($chatId, $messageId, $message) {

$url = $GLOBALS[website]."/editMessageText?chat_id=".$chatId."&message_id=".$messageId."&text=".urlencode($message);
file_get_contents($url);

}

function file_get_contents_curl($url) {
$ch = curl_init();

curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); …
Run Code Online (Sandbox Code Playgroud)

php telegram telegram-bot

1
推荐指数
1
解决办法
3万
查看次数

在哪里可以找到 Telegram bot API TOKEN?

我最近注册了使用电报机器人 API,但是当我查看每个示例时,它说要包含我们自己的 API TOKEN,但没有提到如何获取令牌。

当我访问 Telegram 站点时,它向我显示的只是一些 api id、hash 和一个 RSA 密钥对。

如何生成电报 API令牌或如何以及从何处获取?

python telegram python-telegram-bot telegram-bot

1
推荐指数
1
解决办法
1万
查看次数

如何在 Telebot(pytelegramBotAPI)中获取 chat_id 和 message_id 以更新电报机器人(Python)中最后发送的消息

这是我的一段代码

bot.edit_message_text(chat_id = CHAT_ID, message_id = MESSAGE_ID, text = "message has been updated", reply_markup=inline_keyboard)
Run Code Online (Sandbox Code Playgroud)

python telegram python-telegram-bot telegram-bot

1
推荐指数
1
解决办法
1万
查看次数

电报 Py​​thon 机器人 | 将 Bot 添加到组时的事件

我现在正在为我的电报开发一个 python 脚本。问题是:

我如何知道我的机器人何时被添加到组中?有没有事件或其他什么东西?我希望 Bot 向他添加的群组发送消息,向其打招呼以及他可以使用的功能。

我不知道是否有任何类型的处理程序能够处理这个问题。

python events telegram python-telegram-bot telegram-bot

1
推荐指数
1
解决办法
2344
查看次数

如何从 Telegram 获取公共频道的消息

我需要在电报应用程序中读取一些公共频道的消息,我想将电报频道文本存储在一个文本文件中。我想使用python。我尝试使用 Telethon,但它太复杂了。我的代码有一些错误:

from telethon.tl.functions.messages import (GetHistoryRequest)
from telethon.tl.types import (
PeerChannel
)
client = TelegramClient(username, api_id, api_hash)
client.start()

offset_id = 0
limit = 100
all_messages = []
total_messages = 0
total_count_limit = 0

while True:
    print("Current Offset ID is:", offset_id, "; Total Messages:", total_messages)
    history = client(GetHistoryRequest(
        peer="https://t.me/futballbadnews",
        offset_id=offset_id,
        offset_date=None,
        add_offset=0,
        limit=limit,
        max_id=0,
        min_id=0,
        hash=0
    ))
    if not history.messages:
        break
    messages = history.messages
    for message in messages:
        all_messages.append(message.to_dict())
    offset_id = messages[len(messages) - 1].id
    total_messages = len(all_messages)
    if total_count_limit != 0 …
Run Code Online (Sandbox Code Playgroud)

python telegram telethon

1
推荐指数
1
解决办法
3633
查看次数

在 python 中 Telethon 的第一步

好的,所以我一直打算使用 Telethon 用 Python 在电报上自动化一些事情,但我不确定我是否理解它的要点。

首先,您需要一个 api_id 和一个 api_hash。为此,您转到my.telegram并转到 API 开发工具。在那里你会收到一个代码到你的电报安卓手机,提交后,你会收到一个唯一的 id/hash。第一个问题,您发送此代码是为了生成一个需要的应用程序吗?

现在在python中,您可以按如下方式启动客户端。

from telethon import TelegramClient

api_id=12345
api_hash='abcdef12345ghij'

client=TelegramClient('name of the session',api_id,api_hash)
Run Code Online (Sandbox Code Playgroud)

您可以尝试连接客户端,但它可能会导致未授权或手机未注册,因此您可以使用 start ,这将决定是登录还是注册。在start中可以设置的参数中,有一个是force_sms (bool, optional)强制电报共享短信注册登录所需的代码。我的问题是,如果电话没有注册,还有什么其他方式可以使用电报?我的意思是,他们无法将其发送到移动应用程序,因为该手机没有。

如果电话未注册是可能的,这是否意味着您获得 ID/哈希的电话不一定与您创建客户端的电话相同?

由于此方法有回调,您可以输入发送到手机的代码并连接到电报。

另一种连接客户端的方法是使用StringSession. 我找到了这段代码:

from telethon.sync import TelegramClient
from telethon.sessions import StringSession

# Generating a new one
with TelegramClient(StringSession(), api_id, api_hash) as client:
    print(client.session.save())

# Converting SQLite (or any) to StringSession
with TelegramClient(name, api_id, api_hash) as client:
    print(StringSession.save(client.session))

# Usage
string = '1aaNk8EX-YRfwoRsebUkugFvht6DUPi_Q25UOCzOAqzc...'
with TelegramClient(StringSession(string), …
Run Code Online (Sandbox Code Playgroud)

api python-3.x telegram telethon

1
推荐指数
1
解决办法
3532
查看次数

如何获取电报的电报帐户的访问令牌?

我想通过电报 API 在 Telegram 的 telegraph.ph 网站上创建和编辑页面。

https://telegra.ph/api#createPage

为此,我需要知道access token电报帐户的名称。我一直在使用谷歌搜索高低如何做,但仍然找不到任何答案。

我正在使用电报 python 库。

https://github.com/python273/telegraph

我正在使用 python 3.7

python python-3.x telegram telegraph

1
推荐指数
1
解决办法
1353
查看次数

“_id_attrs: Tuple[Any, ...] = ()”行的 Python-telegram-bot 语法错误

我已经在 ubuntu 上通过 pip 和 pip3 安装了 python-telegram-bot 包,并尝试加载它:

from telegram.ext import Updater, CommandHandler
Run Code Online (Sandbox Code Playgroud)

然后我得到:

File "/usr/local/lib/python3.5/dist-packages/telegram/base.py", line 42

_id_attrs: Tuple[Any, ...] = ()
         ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我在 python 2.7 版本中遇到了类似的错误。“base.py”文件有一行带有“ _id_attrs:”,我已经使用 python 一段时间了,但从未见过变量名后跟冒号。使这一行对 python 可读是什么意思。

python bots telegram

1
推荐指数
1
解决办法
1407
查看次数