Telegraph-Image
Telegraph-Image copied to clipboard
Refactor upload function and improve file handling
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:
-
Get the
Bot_Token- In Telegram, send the command
/newbotto @BotFather, and follow the prompts to input your bot's name and username. Once successfully created, you will receive aBot_Token, which is used to interact with the Telegram API.
- In Telegram, send the command
-
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.
-
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).
- Use @GetTheirIDBot to get your channel ID. Send a message to this bot and follow the instructions to receive your
[!IMPORTANT]
由于原有的Telegraph API接口被官方关闭,需要将上传渠道切换至Telegram Channel,请按照文档中的部署要求设置
TG_Bot_Token和TG_Chat_ID,否则将无法正常使用上传功能。
如何获取Telegram的Bot_Token和Chat_ID
如果您还没有Telegram账户,请先创建一个。接着,按照以下步骤操作以获取BOT_TOKEN和CHAT_ID:
- 获取
Bot_Token- 在Telegram中,向@BotFather发送命令
/newbot,根据提示依次输入您的机器人名称和用户名。成功创建机器人后,您将会收到一个BOT_TOKEN,用于与Telegram API进行交互。
- 在Telegram中,向@BotFather发送命令
- 设置机器人为频道管理员
- 创建一个新的频道(Channel),进入该频道后,选择频道设置。将刚刚创建的机器人添加为频道管理员,这样机器人才能发送消息。
-
获取
Chat_ID- 通过@VersaToolsBot获取您的频道ID。向该机器人发送消息,按照指示操作,最后您将得到
CHAT_ID(即频道的ID)。 - 或者通过@GetTheirIDBot获取您的频道ID。向该机器人发送消息,按照指示操作,最后您将得到
CHAT_ID(即频道的ID)。
- 通过@VersaToolsBot获取您的频道ID。向该机器人发送消息,按照指示操作,最后您将得到
最后去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