我想在nodejs(一个例子)中有一个非常简单的客户端,可以从电报中的联系人那里接收消息.我只是在网上搜索,但我只得到机器人样本.我希望接收群组消息,我无权访问我的机器人的权限,所以我想知道我是否可以接收我自己的消息,没有机器人作为中介.
这个问题是先前问题的后续问题。我的代码是这样的:
import telegram
from prettytable import PrettyTable
def send_msg(text):
token = "*******:**************"
chat_id = "***********"
bot = telegram.Bot(token=token)
bot.sendMessage(chat_id=chat_id, text=text)
myTable = PrettyTable(["Student Name", "Class", "Section", "Percentage"])
myTable.add_row(["Leanord", "X", "B", "91.2 %"])
myTable.add_row(["Penny", "X", "C", "63.5 %"])
myTable.add_row(["Howard", "X", "A", "90.23 %"])
myTable.add_row(["Bernadette", "X", "D", "92.7 %"])
myTable.add_row(["Sheldon", "X", "A", "98.2 %"])
myTable.add_row(["Raj", "X", "B", "88.1 %"])
myTable.add_row(["Amy", "X", "B", "95.0 %"])
table_txt = myTable.get_string()
with open('output.txt','w') as file:
file.write(table_txt)
new_list = []
with open("output.txt", 'r', …Run Code Online (Sandbox Code Playgroud) 首先,我想指出的是,我很清楚,这个问题已经被问了无数次,我知道通常的解决办法的.但是,它似乎对我不起作用.
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/telegram/mtproto/state/ConnectionInfo : Unsupported major.minor version 52.0发生错误时,通常是由使用不兼容的JDK-JRE组合进行编译引起的.但是,如下图所示,我的设置似乎是有序的:

图1. JDK合规性

图2. JRE设置

图3. Java Home
什么似乎是问题?我错过了什么?我正在使用Eclipse Luna,尝试运行一些Telegram API Layer 11代码(我认为代码工作,因为它被其他人使用).
创建电报机器人并获得机器人令牌后,我想向机器人API发送请求.
这个链接说我们必须发送这样的HTTP请求:
https://api.telegram.org/bot<token>/METHOD_NAME并为最简单的方法"getme"带来示例,该方法没有任何输入参数.
想象一下,我想发送一些消息.我应该使用sendMessage具有两个必需输入参数的方法:chat_ID和text.
现在我的问题开始了:
如何用上述请求格式及其参数编写此sendMessage方法?我尝试sendMessage(param1,param2)并收到方法未找到消息.
什么是chat_id?如果我想向联系人发送消息,我怎么知道他的chat_id?
我在互联网上搜索了很多,GitHub上有很多项目,特别是为了这个目的,说实话,它们都没有任何意义.为了上帝的缘故,请有人帮助我.我正在失去方向.
问候.
电报机器人fileid用来下载文件.我如何fileid从Telegram客户端(My Unofficial版本)获取此信息?mtproto具有此位置类的文件指示其地址.
文件位置参数
问题是我不知道如何生成fileid适合File Location类中机器人的那个.
更新1:
我试过做一些逆向工程.所以,我发现File Location课堂和课堂之间有一些关系FileId.
这是我的File Location 样本地址.
0 //此字段仅适用于秘密聊天0 //此字段仅适用于秘密聊天429640340199BCA94 HEX-3528741004939935589(CF0764C08833409B HEX)//根据TG文档,它应该是文件CheckSum60051775 HEX根据我从Bot中检索FileID到的前一FileLocation课,这是我的意思:
AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI很明显,FileID价值是Base64格式的.所以我把它解码了:
0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202现在我们可以看到FileLocation这个十六进制值中的值:
0200030400032FA8311B4E8BF30D2784D3BCED45B789我想做一个非常简单的项目来做到这一点:
一个用户(让我们称他为 John)打开与我的机器人的 Telegram 聊天,并输入以下内容:
用户约翰:/join channel1
我的机器人响应将用户“John”添加到频道“channel1”
这其实就是我想要的。问题是 Telegram BOT API 没有实现任何将用户添加到组的方法。我尝试使用电报-cli,但“chat_add_user”似乎只接受将用户添加到聊天中,而不接受添加到群组中。
有什么办法可以将用户添加到这样的频道吗?(无需手动操作)还是我应该忘记这一点?
谢谢!
我需要在电报中格式化我的文本。我尝试使用 Markdown 语言来表达以下文本:
* Item
* Item
Run Code Online (Sandbox Code Playgroud)
它按原样打印文本。它应该打印子弹。
我正在关注此链接: https: //wordpress.com/support/markdown-quick-reference/
在网上搜索之后,我不得不问:我可以用什么来使用Telegram API发送消息?最好使用JavaScript或PHP.我有一群朋友希望通过网站上的某些活动来讲述.
这是一个有趣的链接:http://reyero.net/es/node/263
在Python-telegram-bot中,如果可能的话,如何获得添加机器人的组的所有参与者的完整列表?
我在我的java应用程序中处理Telegram api.我需要使用我的电报帐户进行身份验证和授权,并获取我的特定组的消息列表.为了这个目的,首先我得到了api_id,api_hash并且MTProto servers从电报的网站.其次,我尝试以auth.sendCode这种方式使用方法授权我的帐户:
...
String url = "https://149.154.167.40:443/auth.sendCode";
HttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader("Content-type", "application/x-www-form-urlencoded");
httpPost.addHeader("charset", "UTF-8");
List<NameValuePair> nameValuePairs = new ArrayList<>();
nameValuePairs.add(new BasicNameValuePair("phone_number", myPhoneNumber));
nameValuePairs.add(new BasicNameValuePair("sms_type", "5"));
nameValuePairs.add(new BasicNameValuePair("api_id", api_id));
nameValuePairs.add(new BasicNameValuePair("api_hash", api_hash));
nameValuePairs.add(new BasicNameValuePair("lang_code", "en"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
HttpResponse response = httpClient.execute(httpPost);
...
Run Code Online (Sandbox Code Playgroud)
但这会让我感到javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake异常.我测试了url http而不是https和这返回了404 Not Foundhtml内容.在java中调用telegram api方法的正确方法是什么?
更新:
我尝试使用 …