GitHub adapter for nonebot2
Project description
NoneBot-Adapter-GitHub
✨ GitHub 协议适配 ✨
安装
poetry add nonebot-adapter-github
# 或者
pip install nonebot-adapter-github
加载适配器
import nonebot
from nonebot.adapters.github import Adapter
nonebot.init()
driver = nonebot.get_driver()
driver.register_adapter(Adapter)
配置
配置 APP
GITHUB_APPS='
[
{
"app_id": "123456", # GitHub App ID 必填
"private_key": [
"-----BEGIN RSA PRIVATE KEY-----",
"...", # 将私钥按行输入
"...",
"...",
"-----END RSA PRIVATE KEY-----"
], # GitHub App 私钥必填
"client_id": "123456", # OAuth App Client ID 必填,GitHub App 可选
"client_secret": "xxxxxx", # OAuth App Client Secret 必填,GitHub App 可选
"webhook_secret": "xxxxxx" # 可选
}
]'
其他配置
GITHUB_BASE_URL=https://api.github.com
GITHUB_ACCEPT_FORMAT=full+json
GITHUB_PREVIEWS=["starfox"]
使用
WebHook
URL: /github/webhooks/<app_id>
(GitHub APP) / /github/webhooks/<client_id>
(OAuth APP)
事件格式:
class Event(BaseModel):
id: str # 事件 ID
name: str # 事件名称
payload: Dict[str, Any] # 事件内容
to_me: bool = False # 是否 @ 了机器人或机器人昵称
具体事件类型及内容请参考 GitHub Developer
调用 API
可以直接通过 bot 调用 API,但是请注意 只能使用异步接口,参数必须是 keyword args。具体使用方法参考 githubkit。
async with bot.as_installation(installation_id=1):
resp = await bot.rest.issues.async_get(owner="owner", repo="repo", issue_number=1)
issue = resp.parsed_data
resp = await bot.async_graphql(query=query)
async for issue in bot.github.paginate(bot.rest.issues.async_list_for_repo, owner="owner", repo="repo"):
print(issue)
也可以直接使用 githubkit
,但是将绕过 NoneBot 的 call api hook
。
github = bot.github
开发
生成事件列表:
python -m codegen && ruff check --fix -e . && isort . && black .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nonebot_adapter_github-0.4.1.tar.gz
.
File metadata
- Download URL: nonebot_adapter_github-0.4.1.tar.gz
- Upload date:
- Size: 32.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c515413457cb2b7477e7e4ed8622aa208ce0d9b65054fd57673d37e91940789f |
|
MD5 | bcd2ce6dd1e920279aa92894f09c804e |
|
BLAKE2b-256 | 8de5d6983ff7fe2b9700b012261a52bfbc62670c19768a7d52f2350da4b2225f |
File details
Details for the file nonebot_adapter_github-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: nonebot_adapter_github-0.4.1-py3-none-any.whl
- Upload date:
- Size: 107.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c740149bee51f01c318fd117ec52ebc55a7edf3cdaffb78b985ee9860a76ea89 |
|
MD5 | 1ec8ec68f8af3a4c0d628fd810cd1e9d |
|
BLAKE2b-256 | f2de4c484e3aa0df2602b1b458242d9e8349753004832b61fdb50e9aa5b5cdc6 |