Awesome
<div align="center"> <a href="https://nonebot.dev/"> <img src="https://nonebot.dev/logo.png" width="200" height="200" alt="nonebot"> </a>nonebot-plugin-userinfo
✨ Nonebot2 用户信息获取插件 ✨
<p align="center"> <img src="https://img.shields.io/github/license/noneplugin/nonebot-plugin-userinfo" alt="license"> <img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python"> <img src="https://img.shields.io/badge/nonebot-2.3.0+-red.svg" alt="NoneBot"> <a href="https://pypi.org/project/nonebot-plugin-userinfo"> <img src="https://badgen.net/pypi/v/nonebot-plugin-userinfo" alt="pypi"> </a> </p> </div>多平台的用户信息获取插件,可以获取用户名、用户头像等信息
可以获取的信息:
字段 | 类型 | 说明 | 默认值 | 备注 |
---|---|---|---|---|
user_id | str | 用户 id | ||
user_name | str | 用户名 | ||
user_displayname | Optional[str] | 用户昵称 | None | |
user_remark | Optional[str] | 用户备注 | None | |
user_avatar | Optional[ImageSource] | 用户头像 | None | ImageSource 可通过 get_url 获取链接,通过 get_image 获取 bytes 结果 |
user_gender | str | 用户性别 | "unknown" |
安装
- 使用 nb-cli
nb plugin install nonebot_plugin_userinfo
- 使用 pip
pip install nonebot_plugin_userinfo
使用
from nonebot_plugin_userinfo import get_user_info
@matcher.handle()
async def handle(bot: Bot, event: Event):
user_info = await get_user_info(bot, event, event.get_user_id()) # 获取当前事件主体用户的信息
可以用依赖注入的方式使用:
from nonebot_plugin_userinfo import EventUserInfo, UserInfo
@matcher.handle()
async def handle(user_info: UserInfo = EventUserInfo()): # 获取当前事件主体用户的信息
pass
from nonebot_plugin_userinfo import BotUserInfo, UserInfo
@matcher.handle()
async def handle(user_info: UserInfo = BotUserInfo()): # 获取Bot用户信息
pass
支持的 adapter
- OneBot v11
- OneBot v12
- Console
- Kaiheila
- Telegram
- Feishu
- RedProtocol
- Discord
- DoDo
- Satori
鸣谢
- nonebot-plugin-send-anything-anywhere 项目的灵感来源以及部分实现的参考
- uy/sun 感谢歪日佬的技术支持