如何在Mastodon实例中批量上传自定义表情?
Mastodon批量上传自定义表情的解决方案
Mastodon默认的Web后台界面不支持批量上传自定义表情,只能逐个手动添加,但你可以通过以下两种方式实现批量上传110个梅西耶天体主题表情:
1. 调用Mastodon API编写批量上传脚本
作为实例管理员,你可以利用Mastodon的官方API来批量导入表情,这是最灵活的方式。以下是一个简单的Python脚本示例,用于遍历本地文件夹中的表情文件并批量上传:
import os import requests # 配置信息 INSTANCE_URL = "你的实例域名" ACCESS_TOKEN = "你的管理员访问令牌" EMOJI_FOLDER = "./messier_emojis" # 表情文件存放路径 # API端点 API_ENDPOINT = f"{INSTANCE_URL}/api/v1/custom_emojis" # 遍历文件夹中的表情文件 for filename in os.listdir(EMOJI_FOLDER): if filename.lower().endswith(('.png', '.gif')): # 从文件名提取短码(去掉后缀,建议用小写+下划线命名) shortcode = os.path.splitext(filename)[0].lower().replace(" ", "_") file_path = os.path.join(EMOJI_FOLDER, filename) # 构造请求参数 files = {'file': open(file_path, 'rb')} data = { 'shortcode': shortcode, 'visible_in_picker': 'true' } headers = {'Authorization': f'Bearer {ACCESS_TOKEN}'} # 发送上传请求 response = requests.post(API_ENDPOINT, files=files, data=data, headers=headers) if response.status_code == 200: print(f"成功上传表情: {shortcode}") else: print(f"上传失败 {shortcode}: {response.text}")
使用前需要注意:
- 确保你拥有实例的管理员权限,并且已生成带有
admin:write:custom_emojis权限的访问令牌 - 表情文件需符合Mastodon要求:格式为PNG/GIF,尺寸建议128x128px,单文件大小不超过500KB
- 文件名尽量直接用作短码,避免使用特殊字符或空格
2. 使用第三方管理工具
部分第三方Mastodon管理工具支持批量导入自定义表情,无需编写代码。这类工具通常要求你上传一个包含表情文件和配置文件(如CSV/JSON,映射文件名与短码)的压缩包,工具会自动调用API完成批量上传。
这类工具的优势是操作更直观,适合不熟悉编程的管理员,但需要确保工具的安全性,选择可信的开源工具。
额外注意事项
- 每个表情的短码必须唯一,重复的短码会导致上传失败
- 部分Mastodon实例可能设置了自定义表情的数量上限,建议提前确认实例配置
- 上传完成后,可以在实例后台的「自定义表情」页面统一检查和管理所有表情
内容的提问来源于stack exchange,提问作者xchido
相关产品推荐
相关产品推荐

