Add Telegram bot token and name

This commit is contained in:
Ehco1996 2024-03-01 20:39:28 +08:00
parent feb40db2bc
commit 140e843d93
5 changed files with 81 additions and 20 deletions

View File

@ -82,6 +82,9 @@ var WeChatAccountQRCodeImageURL = ""
var TurnstileSiteKey = ""
var TurnstileSecretKey = ""
var TelegramBotToken = ""
var TelegramBotName = ""
var QuotaForNewUser = 0
var QuotaForInviter = 0
var QuotaForInvitee = 0

View File

@ -12,7 +12,7 @@ services:
- ./data:/data
- ./logs:/app/logs
environment:
- SQL_DSN=root:123456@tcp(host.docker.internal:3306)/new-api # 修改此行,或注释掉以使用 SQLite 作为数据库
# - SQL_DSN=root:123456@tcp(host.docker.internal:3306)/new-api # 修改此行,或注释掉以使用 SQLite 作为数据库
- REDIS_CONN_STRING=redis://redis
- SESSION_SECRET=random_string # 修改为随机字符串
- TZ=Asia/Shanghai

17
makefile Normal file
View File

@ -0,0 +1,17 @@
FRONTEND_DIR = ./web
BACKEND_DIR = .
.PHONY: all start-frontend start-backend
all: start-frontend start-backend
# 启动前端开发服务器
start-frontend:
@echo "Starting frontend dev server..."
@cd $(FRONTEND_DIR) && npm start &
# 启动后端开发服务器
start-backend:
@echo "Starting backend dev server..."
@cd $(BACKEND_DIR) && go run main.go &

View File

@ -215,6 +215,10 @@ func updateOptionMap(key string, value string) (err error) {
common.WeChatServerToken = value
case "WeChatAccountQRCodeImageURL":
common.WeChatAccountQRCodeImageURL = value
case "TelegramBotToken":
common.TelegramBotToken = value
case "TelegramBotName":
common.TelegramBotName = value
case "TurnstileSiteKey":
common.TurnstileSiteKey = value
case "TurnstileSecretKey":

View File

@ -32,7 +32,11 @@ const SystemSetting = () => {
TurnstileSecretKey: '',
RegisterEnabled: '',
EmailDomainRestrictionEnabled: '',
EmailDomainWhitelist: ''
EmailDomainWhitelist: '',
// telegram login
TelegramLoginEnabled: '',
TelegramBotToken: '',
TelegramBotName: '',
});
const [originInputs, setOriginInputs] = useState({});
let [loading, setLoading] = useState(false);
@ -77,6 +81,7 @@ const SystemSetting = () => {
case 'EmailVerificationEnabled':
case 'GitHubOAuthEnabled':
case 'WeChatAuthEnabled':
case 'TelegramLoginEnabled':
case 'TurnstileCheckEnabled':
case 'EmailDomainRestrictionEnabled':
case 'RegisterEnabled':
@ -234,6 +239,12 @@ const SystemSetting = () => {
}
};
const submitTelegramSettings = async () => {
await updateOption('TelegramLoginEnabled', inputs.TelegramLoginEnabled);
await updateOption('TelegramBotToken', inputs.TelegramBotToken);
await updateOption('TelegramBotName', inputs.TelegramBotName);
};
const submitTurnstile = async () => {
if (originInputs['TurnstileSiteKey'] !== inputs.TurnstileSiteKey) {
await updateOption('TurnstileSiteKey', inputs.TurnstileSiteKey);
@ -402,6 +413,32 @@ const SystemSetting = () => {
/>
</Form.Group>
<Divider />
<Header as='h3'>配置 Telegram 登录</Header>
<Form.Group inline>
<Form.Checkbox
checked={inputs.TelegramLoginEnabled === 'true'}
label='允许通过 Telegram 进行登录'
name='TelegramLoginEnabled'
onChange={handleInputChange}
/>
<Form.Input
label='Telegram Bot Token'
name='TelegramBotToken'
value={inputs.TelegramBotToken}
placeholder='输入你的 Telegram Bot Token'
onChange={handleInputChange}
/>
<Form.Input
label='Telegram Bot 名称'
name='TelegramBotName'
value={inputs.TelegramBotName}
placeholder='输入你的 Telegram Bot 名称'
onChange={handleInputChange}
/>
</Form.Group>
<Form.Button onClick={submitTelegramSettings}>
保存 Telegram 登录设置
</Form.Button>
<Header as='h3'>
配置邮箱域名白名单
<Header.Subheader>用以防止恶意用户利用临时邮箱批量注册</Header.Subheader>