nonebot.default_config

默认配置。

任何自定义配置都必须从此模块导入所有内容,然后设置自定义值来覆盖默认值。

例如:

from nonebot.default_config import *

HOST = '0.0.0.0'
PORT = 8080
SUPERUSERS = {12345678}
COMMAND_START = {'', '/', '!', '/', '!'}
1
2
3
4
5
6

var API_ROOT

  • 类型: str

  • 说明

    CQHTTP 插件的 HTTP 接口地址,如果不使用 HTTP 通信,则无需设置。

    默认值: ''

  • 用法

    API_ROOT = 'http://127.0.0.1:5700'
    
    1

    告诉 NoneBot CQHTTP 插件的 HTTP 服务运行在 http://127.0.0.1:5700

var ACCESS_TOKEN

  • 类型: str

  • 说明

    需要和 CQHTTP 插件的配置中的 access_token 相同。

    默认值: ''

var SECRET

  • 类型: str

  • 说明

    需要和 CQHTTP 插件的配置中的 secret 相同。

    默认值: ''

var HOST

  • 类型: str

  • 说明

    NoneBot 的 HTTP 和 WebSocket 服务端监听的 IP/主机名。

    默认值: '127.0.0.1'

  • 用法

    HOST = '0.0.0.0'
    
    1

    监听服务器的所有 IP。

var PORT

  • 类型: int

  • 说明

    NoneBot 的 HTTP 和 WebSocket 服务端监听的端口。

    默认值: 8080

  • 用法

    PORT = 9876
    
    1

    监听 9876 端口。

var DEBUG

  • 类型: bool

  • 说明

    是否以调试模式运行,生产环境需要设置为 False 以提高性能。

    默认值: True

  • 用法

    DEBUG = False
    
    1

    不使用调试模式运行。

var SUPERUSERS

  • 类型: Collection[int] 1.7.0+

  • 说明

    超级用户的 QQ 号,用于命令的权限检查。

    默认值: set()

  • 用法

    SUPERUSERS = {12345678, 87654321}
    
    1

    设置 1234567887654321 为超级用户。

var NICKNAME

  • 类型: str | Iterable[str]

  • 说明

    机器人的昵称,用于辨别用户是否在和机器人说话。

    默认值: ''

  • 用法

    NICKNAME = {'奶茶', '小奶茶'}
    
    1

    用户可以通过「奶茶」或「小奶茶」来呼唤机器人。

var COMMAND_START

  • 类型: Iterable[str | Pattern]

  • 说明

    命令的起始标记,用于判断一条消息是不是命令。

    默认值: {'/', '!', '/', '!'}

  • 用法

    COMMAND_START = {'', '/', '!'}
    
    1

    允许使用 /! 作为命令起始符,或不用发送起始符。

var COMMAND_SEP

  • 类型: Iterable[str | Pattern]

  • 说明

    命令的分隔标记,用于将文本形式的命令切分为元组(实际的命令名)。

    默认值: {'/', '.'}

  • 用法

    COMMAND_SEP = {'.'}
    
    1

    note.add 这样的命令解析为 ('note', 'add')

var DEFAULT_COMMAND_PERMISSION 1.9.0+

  • 类型: PermissionPolicy_T

  • 说明

    命令处理器的缺省权限。默认为允许所有用户触发。

    默认值: lambda _: True

  • 用法

    DEFAULT_COMMAND_PERMISSION = lambda s: s.is_superuser
    
    1

    调用 on_command 而不提供 permission 参数时,命令仅能被超级用户触发。

var DEFAULT_NLP_PERMISSION 1.9.0+

  • 类型: PermissionPolicy_T

  • 说明

    自然语言处理器的缺省权限。默认为允许所有用户触发。

    默认值: lambda _: True

var SESSION_EXPIRE_TIMEOUT

  • 类型: datetime.timedelta | None

  • 说明

    命令会话的过期超时时长,超时后会话将被移除。None 表示不超时。

    默认值: datetime.timedelta(minutes=5)

  • 用法

    from datetime import timedelta
    SESSION_EXPIRE_TIMEOUT = timedelta(minutes=2)
    
    1
    2

    设置过期超时为 2 分钟,即用户 2 分钟不发消息后,会话将被关闭。

var SESSION_RUN_TIMEOUT

  • 类型: datetime.timedelta | None

  • 说明

    命令会话的运行超时时长,超时后会话将被移除,命令处理函数会被异常所中断。此时用户可以调用新的命令,开启新的会话。None 表示不超时。

    默认值: None

  • 用法

    from datetime import timedelta
    SESSION_RUN_TIMEOUT = timedelta(seconds=10)
    
    1
    2

    设置运行超时为 10 秒,即命令会话运行达到 10 秒,NoneBot 将认为它已经结束。

var SESSION_RUNNING_EXPRESSION

  • 类型: Expression_T

  • 说明

    当有命令会话正在运行时,给用户新消息的回复。

    默认值: '您有命令正在执行,请稍后再试'

  • 用法

    SESSION_RUNNING_EXPRESSION = ''
    
    1

    设置为空,表示当有命令会话正在运行时,不回复用户的新消息。

var SHORT_MESSAGE_MAX_LENGTH

  • 类型: int

  • 说明

    短消息的最大长度。默认情况下(only_short_messageTrue),自然语言处理器只会响应消息中纯文本部分的长度总和小于等于此值的消息。

    默认值: 50

  • 用法

    SHORT_MESSAGE_MAX_LENGTH = 100
    
    1

    设置最大长度为 100。

var DEFAULT_VALIDATION_FAILURE_EXPRESSION 1.2.0+

  • 类型: Expression_T

  • 说明

    命令参数验证失败(验证器抛出 ValidateError 异常)、且验证器没有指定错误信息时,默认向用户发送的错误提示。

    默认值: '您的输入不符合要求,请重新输入'

  • 用法

    DEFAULT_VALIDATION_FAILURE_EXPRESSION = '你发送的内容格式不太对呢,请检查一下再发送哦~'
    
    1

    设置更亲切的默认错误提示。

var MAX_VALIDATION_FAILURES 1.3.0+

  • 类型: int

  • 说明

    命令参数验证允许的最大失败次数,用户输入错误达到这个次数之后,将会提示用户输入错误太多次,并结束命令会话。

    设置为 0 将不会检查验证失败次数。

    默认值: 3

var TOO_MANY_VALIDATION_FAILURES_EXPRESSION 1.3.0+

  • 类型: Expression_T

  • 说明

    命令参数验证失败达到 MAX_VALIDATION_FAILURES 次之后,向用户发送的提示。

    默认值: '您输入错误太多次啦,如需重试,请重新触发本功能'

  • 用法

    TOO_MANY_VALIDATION_FAILURES_EXPRESSION = (
        '你输错太多次啦,需要的时候再叫我吧',
        '你输错太多次了,建议先看看使用帮助哦~',
    )
    
    1
    2
    3
    4

var SESSION_CANCEL_EXPRESSION 1.3.0+

  • 类型: Expression_T

  • 说明

    nonebot.command.argfilter.controllers.handle_cancellation() 控制器在用户发送了 算了取消 等取消指令后,结束当前命令会话时,向用户发送的提示。

    默认值: '好的'

  • 用法

    SESSION_CANCEL_EXPRESSION = (
        '好的',
        '好的吧',
        '好吧,那奶茶就不打扰啦',
        '那奶茶先不打扰小主人啦',
    )
    
    1
    2
    3
    4
    5
    6

var APSCHEDULER_CONFIG