相关疑难解决方法(0)

如何获取私人电报频道的chat_id?

我使用curl来更新我的公共频道.这种语法:

>curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"
Run Code Online (Sandbox Code Playgroud)

chat_id私人频道是什么?这不是私人邀请中的那个.

因为现在我们可以在所有方法中代替chat_id传递通道用户名(格式为@channelusername)(而不是forwardMessage中的from_chat_id).但是我管理的私人频道的@channelusername是什么?

telegram-bot

71
推荐指数
7
解决办法
10万
查看次数

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

我可以知道telegram bot API中的chat_id是什么吗?文件说:

整数| 邮件收件人的唯一标识符 - User或GroupChat id

我找不到任何描述.如何为用户或组获取它?

telegram-bot

51
推荐指数
6
解决办法
15万
查看次数

如何将机器人添加到Telegram Group?

我一直在尝试将机器人添加到Android设备中的Telegram组,但我无法这样做.我试过@bot_name,/ bot_name但它不起作用.任何人都可以告诉我是否可以向该组添加机器人,或者我应该使用Telegram API(非bot API)创建一个新的机器人,以便我可以将联系号码添加到该组?

bots telegram telegram-bot

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

Telegram Bot"找不到聊天"

我在Python中使用以下代码从机器人向自己发送消息.

import requests

token = '320835125:AAFUUC-fdo_EFzsCjvmxu8HBk7qVzZXXXXX'
method = 'sendMessage'
myuserid = 1949275XX
response = requests.post(
    url='https://api.telegram.org/bot{0}/{1}'.format(token, method),
    data={'chat_id': myuserid, 'text': 'hello friend'}
).json()
print(response)
Run Code Online (Sandbox Code Playgroud)

但这会回来 {'description': 'Bad Request: chat not found', 'error_code': 400, 'ok': False}

我究竟做错了什么?我myuserid通过发送/getid@myidbot获得我的令牌@BotFather

python python-requests telegram telegram-bot

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

在电报上发送消息:“禁止:机器人不是超级群聊天的成员”或“禁止:机器人不是频道聊天的成员”

我正在尝试在电报聊天中发送消息。我希望电报设置只能通过官方 UI 完成,因为我希望它可能由最终用户完成。

这是我所做的电报设置:

  • XXXXXXX_bot通过获取令牌与 Botfather 创建了机器人:没问题
  • 我创建了一个频道:
    • 点击“新频道”
    • 频道名称:TestChannel
    • 点击下一步”
    • 选择“私人频道”
    • 点击“保存”
    • 添加我的机器人XXXXXXX_bot
    • 点击“设为管理员”
    • 点击“保存”
  • 我创建聊天:
    • 打开通道TestChannel
    • 在频道菜单上,选择“管理频道”
    • 在讨论中点击“添加群组”
    • 点击“创建新组”
    • 团队名字:TestChannelChat
    • 点击“创建”
    • 点击“保存”
  • 我将机器人添加到新组中:
    • 打开群组TestChannelChat
    • 在右侧面板上,我单击“添加成员”
    • 添加我的机器人XXXXXXX_bot
    • 点击“添加”
    • 右键单击聊天中新添加的用户,然后选择“晋升为管理员”
    • 点击“保存”

以下是频道管理员的设置:

在此输入图像描述

最终,电报 UI 中的聊天/群组设置如下:

在此输入图像描述

我进行以下 http 调用:

GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannelChat&text=coucou
Run Code Online (Sandbox Code Playgroud)

这给了我以下答案:

GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannelChat&text=coucou
Run Code Online (Sandbox Code Playgroud)

我还做了以下操作(绕过实际聊天并直接在频道中发布消息):

GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannel&text=coucou
Run Code Online (Sandbox Code Playgroud)

这给了我以下答案:

{
  "ok": false,
  "error_code": 403,
  "description": "Forbidden: bot is not a member of the supergroup chat"
}
Run Code Online (Sandbox Code Playgroud)

一个简单的问题,由于机器人也用于广播消息,我缺少其设置的哪一部分?

telegram telegram-bot

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

电报机器人:ChatId ?未获取 ChatId,但 {"ok":true,"result":[]}

尝试了Telegram bot - how to get a group chat id ?中描述的所有选项 红宝石宝石 Telegram_bot

当浏览到: https: //api.telegram.org/botXXX:YYYY /getUpdates 时,我得到的是:

{“确定”:true,“结果”:[]}

我究竟做错了什么?

telegram-bot

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

无需用户输入即可向电报组发送消息

我正在尝试构建一个机器人,它会在使用 python 的最新新闻中有更新时自动发送消息。以下是我所做的。

companies = {
    "name_1": {
        "rss": "name_1 rss link",
        "link": "name_1 link"
    }
}

import feedparser as fp
import time, telebot
token = <TOKEN>
bot = telebot.TeleBot(token)
LIMIT = 1
while True:
    def get_news():
        count = 1
        news = []
        for company, value in companies.items():
            count = 1
            if 'rss' in value:
                d = fp.parse(value['rss'])
                for entry in d.entries:
                    if hasattr(entry, 'published'):
                        if count > LIMIT:
                            break
                        news.append(entry.link)
                        count = count + 1

        return (news)
    val = …
Run Code Online (Sandbox Code Playgroud)

python-3.x telegram python-telegram-bot telegram-bot

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

如何将python输出发送到电报频道而不是组和gmail电子邮件组

嗨,我有一个 Python 程序,它每隔一小时生成一次结果。结果可以是任何东西。这个程序将在本地机器或虚拟专用网络中运行。

我有两个要求 1. 将这个 python 生成的结果自动发送到一个电报组 [组名“我们的世界”](由我创建),无需用户干预。(我在同一系统中运行桌面电报客户端或 web.telegram.org)

  1. 将此结果发送到 Gmail 群组电子邮件 ID。

有哪些方法可以实现这一要求。是否有任何可用的工作代码来完成这项工作。请分享信息和细节。

编辑:

我面临的问题:

1.使用BotFather创建了一个Bot。2.将此 Bot 添加到我的组,在这里我收到错误无法添加成员,因此将 Bot 添加为组中的管理员 3.记下 BOT 的令牌。4.试图在这个论坛(https://web.telegram.org/#/im?p=g154513121)中获取ChatId有人说p=g之后的数字是chartid,在我的例子中没有数字显示@testingname像这样。

  1. 使用这种方法尝试获取聊天 ID https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/getme 所以这里 738909732 成为聊天 ID(在这种情况下为什么我们需要单独调用图表 ID)真正的回应来了!这里的聊天 ID 是我的“testingname”的 ID,没有为该组生成的图表 ID。6.现在打包 URL 以查看响应我收到此错误。

https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/sendMessage?chat_id=738909732&text=testing

如果我在浏览器中运行这个输出

{"ok":false,"error_code":400,"description":"错误请求:找不到聊天"} {"ok":false,"error_code":403,"description":"禁止:bot 不能向机器人发送消息"}

如何解决此问题并使 BOT 正常工作。为什么我无法将 BOT 添加到我的组中,显示错误“无法添加用户”

如何使这个电报组工作。

注意:使用 BotFather BOT 创建

python email python-3.x telegram telegram-bot

5
推荐指数
3
解决办法
8234
查看次数

如何从 GitLab 管道向 Telegram 发送通知?

在我们的小型初创公司中,我们使用 GitLab 进行开发,使用 Telegram 进行开发人员和 PO 之间的内部通信。由于 PO 希望立即看到进度,因此我们设置了 GitLab Pipeline,以便在每次提交后将预览版本部署到 Web 服务器上。现在我们想扩大管道。因此,部署后会通过 Telegram 组发送通知。

所以问题是——这可能吗?如果可能的话,如何实现?

编辑:因为我已经实现了,所以这不是一个真正的问题。我想将答案发布在这里,以便其他人也可以使用它。

notifications gitlab telegram gitlab-ci

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

电报机器人向自己发送消息但不在公共组中

我用@botfather 制作了一个电报机器人,并将该机器人提升为公共组的管理员。每当我尝试从 python 代码发送消息时,它总是将消息发送给自己,我的意思是在私人聊天中而不是在公共组中。

编写的代码快照:

bot_token = 'XXXXXXXXXXXXXXXXXXX'
bot_chatID = '395014927'
bot_message = "Testing"
send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&text=' + bot_message
response = requests.get(send_text)

response.json()
Run Code Online (Sandbox Code Playgroud)

如何让机器人在群组中发送消息,而不是发送给自己?

我在这里遗漏了什么还是我需要修改一些设置?

编辑(已解决):聊天组始终为负数。查找该号码以获取该组的聊天 ID。

python telegram telegram-bot

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

在哪里可以找到 Telegram Api 密钥

我正在尝试查找 Telegram 的 Api 密钥,但找不到。我在哪里可以在网站上找到它?如果我使用 Api Id,我会Incorrect Token Format在 C# 控制台应用程序中收到错误消息。

c# telegram telegram-api

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

电报机器人 - 找不到聊天

我对电报机器人完全陌生。我想bot.send_message()在以下代码中执行 a (如代码中所述),但不能这样做。请帮忙。

!pip install python-telegram-bot --upgrade
import telegram
bot = telegram.Bot(token='**************')
bot.send_message(chat_id='******', text="I'm sorry Dave I'm afraid I can't do that.")
Run Code Online (Sandbox Code Playgroud)

它错误为:

1 bot.send_message('mardepbot',"I'm sorry Dave I'm afraid I can't do that.")

/usr/local/lib/python3.6/dist-packages/telegram/bot.py in decorator(self, *args, **kwargs)
     63     def decorator(self, *args, **kwargs):
     64         logger.debug('Entering: %s', func.__name__)
---> 65         result = func(self, *args, **kwargs)
     66         logger.debug(result)
     67         logger.debug('Exiting: %s', func.__name__)

/usr/local/lib/python3.6/dist-packages/telegram/bot.py in decorator(self, *args, **kwargs)
     88                 data['reply_markup'] = reply_markup
     89 
---> 90         result = self._request.post(url, data, timeout=kwargs.get('timeout'))
     91 …
Run Code Online (Sandbox Code Playgroud)

telepot

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