Telegraph-Image icon indicating copy to clipboard operation
Telegraph-Image copied to clipboard

Refactor upload function and improve file handling

Open cf-pages opened this issue 1 year ago • 4 comments

Solve issue: #178 #180 #182

Use tg channel/chat for storage

How to use?

First, you need to create a new telegram bot to obtain the token and a telegram channel to obtain Chat_ID

How to Obtain Bot_Token and Chat_ID for Telegram

If you don't have a Telegram account yet, please create one first. Then, follow these steps to get the Bot_Token and Chat_ID:

  1. Get the Bot_Token

    • In Telegram, send the command /newbot to @BotFather, and follow the prompts to input your bot's name and username. Once successfully created, you will receive a Bot_Token, which is used to interact with the Telegram API.
  2. Set the bot as a channel administrator

    • Create a new channel and, after entering the channel, go to channel settings. Add the bot you just created as a channel administrator, so it can send messages.
  3. Get the Chat_ID

    • Use @GetTheirIDBot to get your channel ID. Send a message to this bot and follow the instructions to receive your Chat_ID (the ID of your channel).

[!IMPORTANT]

由于原有的Telegraph API接口被官方关闭,需要将上传渠道切换至Telegram Channel,请按照文档中的部署要求设置TG_Bot_TokenTG_Chat_ID,否则将无法正常使用上传功能。

如何获取Telegram的Bot_TokenChat_ID

如果您还没有Telegram账户,请先创建一个。接着,按照以下步骤操作以获取BOT_TOKENCHAT_ID

  1. 获取Bot_Token
    • 在Telegram中,向@BotFather发送命令/newbot,根据提示依次输入您的机器人名称和用户名。成功创建机器人后,您将会收到一个BOT_TOKEN,用于与Telegram API进行交互。

202409071744569

  1. 设置机器人为频道管理员
    • 创建一个新的频道(Channel),进入该频道后,选择频道设置。将刚刚创建的机器人添加为频道管理员,这样机器人才能发送消息。

202409071758534

202409071758796

  1. 获取Chat_ID

    • 通过@VersaToolsBot获取您的频道ID。向该机器人发送消息,按照指示操作,最后您将得到CHAT_ID(即频道的ID)。
    • 或者通过@GetTheirIDBot获取您的频道ID。向该机器人发送消息,按照指示操作,最后您将得到CHAT_ID(即频道的ID)。

    202409071751619

最后去Cloudflare Pages后台设置相关的环境变量(注:修改环境变量后,需要重新部署才能生效)

环境变量 示例值 说明
TG_Bot_Token 123468:AAxxxGKrn5 @BotFather获取的Telegram Bot Token。
TG_Chat_ID -1234567 频道的ID,确保TG Bot是该频道或群组的管理员。

本地运行命令,需先按照Cloudflare官方文档安装wrangler

npx wrangler pages dev ./ --kv "img_url" --port 8080 --binding BASIC_USER=admin --binding BASIC_PASS=123 --binding TG_Chat_ID=[Your Chat ID] --binding TG_Bot_Token=[Your Telegram Bot token] --persist-to ./data

Reference: @x-dr/telegraph-Image @MarSeventh/CloudFlare-ImgBed

cf-pages avatar Sep 08 '24 09:09 cf-pages