# 自定义账号管理器 假如你的服务器环境并非单机环境,而是集群环境,那么在多个服务器间共享Bot信息就成了一个问题。因此你可以使用一个自定义的`BotManager`来代替原本使用的默认`BotManager`。 ## **原版BotManager** 在代替之前,先简单说一下默认情况下的`BotManager`:`BotManagetImpl`,其内部维护了一个**请求路径拼接函数**与一个**bot注册验证函数**。 ### **请求路径拼接函数** >[info] 接口类型:PathAssembler 此函数会将`ip`、`端口`、`请求路径`三个参数拼接为一个完整的请求路径,一般为一个HTTP请求路径或者ws连接路径。 ### **bot注册验证函数** >[info] 接口类型:VerifyFunction 此函数会将一个没有经过验证的`BotInfo`对象进行验证,并返回一个验证后的`BotInfo`。一般来讲,是否验证的区别在于此`BotInfo`中是否存在其对应的`LoginInfo`与`BotSender`,即登录信息与送信器。 <br> 因此,如果你可能需要默认的上述两个函数,不妨试试直接继承`BotManagerImpl`。什么?构造是有参数的?没有关系,上述两个函数在获取自定义`BotManager`之前已经被注入至依赖中心了,框架的依赖中心会帮助你自动注入构造参数的。 ## **举个例子** 以下举一个使用外部数据库来获取注册账号的例子: **待续。。。**