-
Notifications
You must be signed in to change notification settings - Fork 2
/
.env.example
112 lines (93 loc) · 5.81 KB
/
.env.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# 定义全局模版变量 `TOKEN`
TEMPLATE_VAR_TOKEN=secret
# 定义房间模版变量 `TOKEN`,优先于全局变量
BILIBILI_ROOM_TEMPLATE_VAR_298626_TOKEN=secret
# 邮件服务主机
EMAIL_HOST = smtp.qq.com
# 邮件服务端口
EMAIL_PORT = 465
# 邮件服务用户名
EMAIL_USER =
# 邮件服务密码
EMAIL_PASSWORD =
# 发件人,如果和用户账号不一致可能会被拒信
# EMAIL_FROM = [email protected]
# 测试邮件发送地址,会在服务器启动后发送测试邮件到这些地址
# TEST_EMAIL_TO = [email protected],[email protected]
# 全局邮件发送地址
# EMAIL_TO = [email protected],[email protected]
# 所有以 BILIBILI_ROOM_NAME_{房间显示ID} 格式的环境变量都会进行监控,值会用在邮件标题中
BILIBILI_ROOM_NAME_298626 = NateScarlet
# 覆盖全局 EMAIL_TO 设置
# BILIBILI_ROOM_EMAIL_TO_298626 = [email protected],[email protected]
# DD 可以有多个单推
BILIBILI_ROOM_NAME_3822389 = 有栖Mana
BILIBILI_ROOM_NAME_4895312 = 帕里
BILIBILI_ROOM_NAME_1321846 = 夏诺雅
BILIBILI_ROOM_NAME_21449083 = 物述有栖
# 轮询间隔秒数,0 代表禁用轮询
# BILIBILI_POLLING_INTERVAL_SECS=0
# 同房间的事件节流秒数,只处理时间内触发的第一次事件。
# 默认 LIVE 事件节流 10 分钟,其他事件不节流
# BILIBILI_EVENT_THROTTLE_{事件名称}=10
# 同房间的事件去重 key,只处理key为首次出现的事件。
# BILIBILI_EVENT_DISTINCT_KEY_{事件名称}={{ 使用模版为事件指定 key }}
BILIBILI_EVENT_DISTINCT_KEY_SUPER_CHAT_MESSAGE={{ event.data.data.id | default }}
BILIBILI_EVENT_DISTINCT_KEY_SUPER_CHAT_MESSAGE_JPN={{ event.data.data.id | default }}
# 同房间的事件去重事件数限制,达到限制时删除老的事件 key 以避免内存泄漏。默认为 128,设为 0 禁用去重,设为 -1 取消限制。
# BILIBILI_EVENT_DISTINCT_LIMIT_{事件名称}=128
# 定义 Webhook `QQ1`
# 当值为 True 时跳过 webhook,可使用模版进行判断
WEBHOOK_SKIP_QQ1={{ event.type == 'VIEW' }}
# 请求 方法
WEBHOOK_METHOD_QQ1=POST
# 请求 URL
WEBHOOK_URL_QQ1=http://exapmle.com/send_msg?access_token={{ TOKEN }}
# 请求标头,下划线将被替换为连字符
WEBHOOK_HEADER_QQ1_CONTENT_TYPE=application/json
# 请求体,支持模版
WEBHOOK_BODY_QQ1={% set ri = room.data.room_info %}{% set ai = room.data.anchor_info %}{% set message='[开播]%s:%s\n%s[CQ:image,file=%s]%s' | format(room.name, room.title, room.url, ri.cover or ai.base_info.face or ri.keyframe, MESSAGE) %}{{ dict(message=message, group_id=0) | tojson }}
# 定义 Webhook `RANK` 在排名结算时发消息。
WEBHOOK_METHOD_RANK=POST
WEBHOOK_URL_RANK=http://example.com/send_msg?access_token={{ TOKEN }}
WEBHOOK_HEADER_RANK_CONTENT_TYPE=application/json
WEBHOOK_BODY_RANK={{ dict(group_id=0, message='[%s No.%s]%s:%s\n%s[CQ:image,file=%s]' % (event.data.data.area_name, event.data.data.rank, room.name, room.title, room.url, room.data.room_info.keyframe)) | tojson }}
BILIBILI_WEBHOOK_HOT_RANK_SETTLEMENT=rank
# 定义 Webhook `LOT` 在抽奖时发消息。
WEBHOOK_METHOD_LOT=POST
WEBHOOK_URL_LOT=http://example.com/send_msg?access_token={{ TOKEN }}
WEBHOOK_HEADER_LOT_CONTENT_TYPE=application/json
WEBHOOK_BODY_LOT={{ dict(group_id=0, message='[天选时刻]%s:%s %s人 (%s%s)\n%s' % (room.name, event.data.data.award_name, event.data.data.award_num, event.data.data.require_text, ',%sx%s=%s金瓜子' % (event.data.data.gift_name, event.data.data.gift_num, event.data.data.gift_price) if event.data.data.gift_price > 0 else '', room.url)) | tojson }}
BILIBILI_WEBHOOK_ANCHOR_LOT_START=LOT
# 定义 Webhook `ROOM_CHANGE` 在直播间变更时发消息。
WEBHOOK_METHOD_ROOM_CHANGE=POST
# 跳过未开播时的直播间变更
WEBHOOK_SKIP_ROOM_CHANGE={{ room.data.room_info.live_status != 1 }}
WEBHOOK_URL_ROOM_CHANGE=http://example.com/send_msg?access_token={{ TOKEN }}
WEBHOOK_HEADER_ROOM_CHANGE_Content_Type=application/json
WEBHOOK_HEADER_ROOM_CHANGE_AUTHORIZATION={{ AUTHORIZATION }}
WEBHOOK_BODY_ROOM_CHANGE={{ dict(group_id=0, message='[直播间变更]%s:%s\n%s[CQ:image,file=%s]%s' % (room.name, event.data.data.title, room.url, room.data.room_info.cover, MESSAGE)) | tojson }}
BILIBILI_WEBHOOK_ROOM_CHANGE=ROOM_CHANGE
# SERVER_START_WEBHOOK=TEST
# BILIBILI_WEBHOOK_LIVE=LIVE
# 设置全局 Live 事件 WebHook
BILIBILI_WEBHOOK_LIVE=QQ1
# 房间覆盖 Live 事件 WebHook
BILIBILI_ROOM_WEBHOOK_298626_LIVE=QQ1,QQ2
# 服务器启动后触发的 webhook
# SERVER_WEBHOOK_START = webhook1,webhook2
#
# Super chat 发到Discord
# 1. 到 https://discord.com/developers/applications 创建机器人
# 2. 使用 scripts/gateway.html 认证机器人
# 3. 使用 https://discord.com/api/oauth2/authorize?client_id={client_id}&scope=bot&permissions={权限} 添加机器人到所需的频道
# 参见 https://discord.com/developers/docs/topics/oauth2#bots
#
TEMPLATE_VAR_DISCORD_AUTH=Bot {机器人账号的Token}
WEBHOOK_METHOD_SC=POST
WEBHOOK_URL_SC=https://discord.com/api/channels/{频道ID}/messages
WEBHOOK_HEADER_SC_AUTHORIZATION={{ DISCORD_AUTH }}
WEBHOOK_HEADER_SC_CONTENT_TYPE=application/json
WEBHOOK_BODY_SC={% set e=event.data.data %}{{ dict(embeds=[dict(title=e.message, description=e.message_jpn | default(None), color=e.background_bottom_color | trim('#') | int(None, 16), author=dict(name=e.user_info.uname, url='https://space.bilibili.com/%s' | format(e.uid), icon_url=e.user_info.face), fields=[dict(name='金额', value=e.price), dict(name="大航海", value=dict(k1="总督", k2="提督", k3="舰长").get("k%s"|format(e.user_info.guard_level), e.user_info.guard_level), inline=True), dict(name="勋章", value=e.medal_info.medal_name, inline=True), dict(name="勋章等级", value=e.medal_info.medal_level, inline=True)] | selectattr('value') | list, footer=dict(text="id: %s" | format(e.id)))] ) | tojson }}
# BILIBILI_WEBHOOK_SUPER_CHAT_MESSAGE=SC
BILIBILI_WEBHOOK_SUPER_CHAT_MESSAGE_JPN=SC