mirror of
https://github.com/LamGC/ScalaBot.git
synced 2025-07-01 04:47:24 +00:00
refactor(bot): 简化 ScalaBot 构造器的参数.
改动前的构造器参数大多是直接从 BotConfig 中传递进去, 这么做不利于添加新的参数, 因此改动后, BotConfig 将直接传递到 ScalaBot 的构造器中, 由 ScaleBot 内部按需获取参数进行初始化.
This commit is contained in:
@ -112,14 +112,10 @@ internal class Launcher : AutoCloseable {
|
|||||||
)
|
)
|
||||||
|
|
||||||
val bot = ScalaBot(
|
val bot = ScalaBot(
|
||||||
account.name,
|
|
||||||
account.token,
|
|
||||||
account.creatorId,
|
|
||||||
BotDBMaker.getBotMaker(account),
|
BotDBMaker.getBotMaker(account),
|
||||||
botOption,
|
botOption,
|
||||||
botConfig.extensions,
|
|
||||||
extensionPackageFinders,
|
extensionPackageFinders,
|
||||||
botConfig.disableBuiltInAbility
|
botConfig
|
||||||
)
|
)
|
||||||
botSessionMap[bot] = botApi.registerBot(bot)
|
botSessionMap[bot] = botApi.registerBot(bot)
|
||||||
log.info { "机器人 `${bot.botUsername}` 已启动." }
|
log.info { "机器人 `${bot.botUsername}` 已启动." }
|
||||||
|
@ -14,26 +14,30 @@ import org.telegram.telegrambots.meta.api.objects.Update
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 可扩展 Bot.
|
* 可扩展 Bot.
|
||||||
* @param name 机器人名称. 建议设为机器人用户名.
|
|
||||||
* @param token 机器人 API 令牌.
|
|
||||||
* @property creatorId 机器人所有人的 Telegram 用户 Id. 可通过联系部分机器人来获取该信息.
|
* @property creatorId 机器人所有人的 Telegram 用户 Id. 可通过联系部分机器人来获取该信息.
|
||||||
* (e.g. [@userinfobot](http://t.me/userinfobot))
|
* (e.g. [@userinfobot](http://t.me/userinfobot))
|
||||||
* @param db 机器人数据库对象. 用于状态机等用途.
|
* @param db 机器人数据库对象. 用于状态机等用途.
|
||||||
* @param options AbilityBot 设置对象.
|
* @param options AbilityBot 设置对象.
|
||||||
* @property extensions 扩展坐标集合.
|
* @property extensions 扩展坐标集合.
|
||||||
* @param disableBuiltInAbility 是否禁用 [AbilityBot] 内置命令.
|
|
||||||
*/
|
*/
|
||||||
internal class ScalaBot(
|
internal class ScalaBot(
|
||||||
name: String,
|
|
||||||
token: String,
|
|
||||||
private val creatorId: Long,
|
|
||||||
db: DBContext,
|
db: DBContext,
|
||||||
options: DefaultBotOptions,
|
options: DefaultBotOptions,
|
||||||
val extensions: Set<Artifact>,
|
|
||||||
extensionFinders: Set<ExtensionPackageFinder>,
|
extensionFinders: Set<ExtensionPackageFinder>,
|
||||||
disableBuiltInAbility: Boolean
|
botConfig: BotConfig,
|
||||||
|
private val creatorId: Long = botConfig.account.creatorId,
|
||||||
|
val extensions: Set<Artifact> = botConfig.extensions
|
||||||
) :
|
) :
|
||||||
AbilityBot(token, name, db, if (disableBuiltInAbility) BareboneToggle() else DefaultToggle(), options) {
|
AbilityBot(
|
||||||
|
botConfig.account.token,
|
||||||
|
botConfig.account.name,
|
||||||
|
db,
|
||||||
|
if (botConfig.disableBuiltInAbility)
|
||||||
|
BareboneToggle()
|
||||||
|
else
|
||||||
|
DefaultToggle(),
|
||||||
|
options
|
||||||
|
) {
|
||||||
|
|
||||||
private val extensionLoader = ExtensionLoader(
|
private val extensionLoader = ExtensionLoader(
|
||||||
bot = this,
|
bot = this,
|
||||||
|
Reference in New Issue
Block a user