#小脚本# 使用 Telegram Bot 发送修改带按钮的信息~

前言

因为本人之前犯傻,不小心将TG账号登出了,那个账号的手机卡绑定的是我的美国手机卡,现在在国内没开漫游,收不到短信验证。于是我失去了几个频道的管理权。不过我突然发现我自己建立的Bot还在频道里,于是写了个脚本用这些 Bot 发送消息。

效果图

屏幕快照 2018-06-28 上午9.42.49.png

脚本源码

#!/usr/bin/python

import telebot
from telebot import types
import os

# 在这里填写机器人的 TOKEN
TOKEN = '532854137:AAGGGGGGGGGGGGGGGGGGGGGG'

# 这里填写要发送的频道/人/群组的 ID
ChatID = 591571070


# 如果想让 Python 使用 HTTP 代理,请在这里设置
# os.environ['http_proxy'] = 'http://127.0.0.1:1087'
# os.environ['https_proxy'] = 'https://127.0.0.1:1087'

bot = telebot.TeleBot(TOKEN)

def SendMessage():
    Message = input("请输入你要发送的消息内容:")
    AddBtn=False
    Markup = types.InlineKeyboardMarkup()
    while 1:
        AddMore=input("是否需要添加链接按钮 (y/n):")
        if AddMore == "n":
            break
        else:
            AddBtn = True
            BtnName = input("请输入按钮名称:")
            BtnLink = input("请输入按钮指向链接:")
            Markup.add(types.InlineKeyboardButton(BtnName, url=BtnLink))

    if AddBtn:
        tmp=bot.send_message(chat_id=ChatID, text=Message, reply_markup=Markup, parse_mode='Markdown')
    else:
        tmp=bot.send_message(chat_id=ChatID, text=Message, parse_mode='Markdown')

    print("消息已发送,消息ID:",tmp.message_id,"Chat ID:",ChatID)

def EditMessage():
    MessageID = input("请输入想修改的消息的 消息ID:")
    MessageID = int(MessageID)
    Content = input("请输入新的消息内容:")
    bot.edit_message_text(Content,ChatID,message_id=MessageID)
    print("消息ID为",MessageID,"的消息内容已修改!")

if __name__ == '__main__':
    print("1. 发送消息")
    print("2. 修改消息内容")
    choice = input("请选择操作:")
    if str(choice).replace(" ","") == "1":
        SendMessage()
    else:
        EditMessage()

相关说明

  1. 使用 Python3,目前不支持 Python2

  2. 需要安装一个依赖:pip3 install pyTelegramBotAPI

关于 V2ray.Fun 面板开发的思考与总结

前言

前段时间我一时性♂起,就写了一个V2ray的小面板,具体详情请参考:

但是在大家的机子上或多或少会出现各种奇怪的部署问题,于是我进行一个简单的技术讲解和说明。

技术栈

整个程序采用 Python 编写,使用的 Flask 框架,同时在前端使用了很多 JavaScript 。

总的来说,所有的用户操作都在前端,按钮点击都会访问本机 Flask 中的特定的路由。

然后进行相关操作。页面中的数据填充也全靠 JavaScript,Flask 只用于控制后端。

管理脚本使用了 SuperVisor 来做进程守护。但是这玩意真的没弄明白。部署的时候经常会出问题。

思考

其实一开始想用 GoLang 来写,但是自己智商比较低,学不会。如果用 Go Lang,就不必考虑依赖的问题了。部署也轻松方便。
后来也想用 Nodejs 来写一遍,但是一想到还需要在每个用户VPS上安装 Nodejs,有点太臃肿了。

总结

先慢慢等着吧,对面板进行小修小补,后期等我先学一波 GoLang 再说吧。当然有同学愿意帮我重写或者提交 PR,我非常乐意~