Skip to content

自用 Telegram Bot,写了 MemeGenerator 的功能

Notifications You must be signed in to change notification settings

Liki4/Liki4TeloxideBot

Repository files navigation

Liki4TeloxideBot

女高中生自用 bot

Teloxide 不赖,值得推荐

Config

改 .env 文件

# ERROR/WARN/INFO/DEBUG/TRACE
RUST_LOG=DEBUG

# 86400s=1d
MEDIA_GROUP_MAPPING_TIMEOUT=86400

TELOXIDE_TOKEN=<BOT_TOKEN>
# Without `@`, to precisely parse commands
BOT_NAME=teloxide_test_bot
# Uncomment TELOXIDE_PROXY to use proxy
# TELOXIDE_PROXY=http://127.0.0.1:7890/

# Uncomment MEME_API_URL to use Python Version API
# MEME_API_URL=http://meme.generator.com/
MEME_MEDIA_GROUP_HANDLE_TIMEOUT=5

TELOXIDE_PROXY 开了 bot 就会走代理

MEME_API_URL 开了 generator 就会走 python 版的 api

别的没了

Usage

/meme list

image

/meme search xxx

image

是个 keyword/key -> key 的映射,但因为后来其他命令也会从映射找,没什么用

/meme info xxx

image

会发出来 preview 和参数,但我懒得处理参数

/meme random

image

会随机一个入参条件符合的 meme,这里是用的图片数组里最后加进来的发送人头像了

/meme generate

image

用入参生成一张 meme

入参方式

random 和 generate 的入参逻辑都是一样的

文字就是跟在命令后面,最后再拼上发送人的 first_name,但要注意的是 at 的文字也会被放进来,所以发的时候按照先发文字再 at 人的顺序来

image

图片就是 直接发的图片+at的人的头像+回复的消息的图片+发送人的头像,按顺序拼成数组,反正大概是那么个意思

image

image

image

然后参数最后会根据 meme 对应的最大入参量截断,比如你给一个 2 个入参的 meme 发 3 个参数,最后生效的也只是前 2 个

注意!如果要同时使用多张图片,无论是回复还是直接发,都要求把 Privacy Mode 关闭,否则只能取出来第一张图片

Generator

Rust 版在:https://github.com/MemeCrafters/meme-generator-rs Python 版在:https://github.com/MemeCrafters/meme-generator

About

自用 Telegram Bot,写了 MemeGenerator 的功能

Resources

Stars

Watchers

Forks

Packages

No packages published