telegram android 源码分析 (一)自动设置代理

比如自动设置mtproxy代理,冗长的代码我们怎么去找?

1)首先我们发现点代理链接能弹对话框,们可以在strings.xml中搜索得到:

 <string name="UseProxyTelegramInfo2">This proxy may display a sponsored channel in your chat list. This doesn\'t reveal any of your Telegram traffic.</string>
    <string name="UseProxyForCalls">Use proxy for calls</string>

2)我们在项目中寻找:UseProxyTelegramInfo2,发现D:\Telegram\TMessagesProj\src\main\java\org\telegram\messenger\AndroidUtilities.java

中有函数进行引用:

public static void showProxyAlert(Activity activity, final String address, final String port, final String user, final String password, final String secret) 

函数最后提及:

ConnectionsManager.setProxySettings(true, address, p, user, password, secret);
            NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.proxySettingsChanged);

这两句非常关键,调用了

D:\Telegram\TMessagesProj\src\main\java\org\telegram\tgnet\ConnectionsManager.java

文件中设置代理的函数。那么我们也可以在合适的位置自己调用,比如该类的

init函数中。

 

3)如果想自己动态设置代理,那么可以使用https在某个服务器下载JSON格式的配置文件,

得到里面的参数,设置即可。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Telegram 机器人的 Python 代码示例: ```python import telegram from telegram.ext import Updater, CommandHandler, MessageHandler, Filters # 定义 /start 命令处理程序 def start(update, context): update.message.reply_text('你好!欢迎使用机器人!') # 定义 /help 命令处理程序 def help(update, context): update.message.reply_text('这是一个帮助信息') # 定义文本消息处理程序 def echo(update, context): update.message.reply_text(update.message.text) # 定义错误处理程序 def error(update, context): print(f"Update {update} caused error {context.error}") # 创建 Updater 对象并添加处理程序 updater = Updater(token='YOUR_TOKEN', use_context=True) dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler('start', start)) dispatcher.add_handler(CommandHandler('help', help)) dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo)) dispatcher.add_error_handler(error) # 启动机器人 updater.start_polling() ``` 在这个示例中,我们使用了 Python 的 `telegram` 库和 `python-telegram-bot` 库。首先,我们定义了几个命令处理程序和一个文本消息处理程序。然后,我们创建了一个 Updater 对象并将处理程序添加到 dispatcher 中。最后,我们使用 `start_polling()` 方法启动机器人。 请注意,你需要使用你自己的 Telegram bot token 替换代码中的 "YOUR_TOKEN"。 这只是一个简单的示例,你可以根据你的需求编写更复杂的机器人代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值