OneBot 机器人。
extra 中定义的字段将与 platform 结合成扩展字段。
Source code in src/pylibob/types.py
| @dataclass
class Bot:
"""OneBot 机器人。
`extra` 中定义的字段将与 `platform` 结合成扩展字段。
"""
platform: str
user_id: str
online: bool
extra: dict[str, Any] | None = None
def __hash__(self) -> int:
return hash((self.platform, self.user_id))
def dict_for_status(self) -> dict[str, Any]:
"""转换为机器人状态字典。
Returns:
机器人状态字典
"""
# sourcery skip: dict-assign-update-to-union
dic = {
"self": {
"platform": self.platform,
"user_id": self.user_id,
},
"online": self.online,
}
if self.extra is not None:
dic.update(
{f"{self.platform}.{k}": v for k, v in self.extra.items()},
)
return dic
def dict_for_self(self) -> BotSelf:
"""转换为机器人自身标识字典。
Returns:
机器人自身标识字典
"""
return {
"platform": self.platform,
"user_id": self.user_id,
}
|
dict_for_self()
转换为机器人自身标识字典。
Returns:
Source code in src/pylibob/types.py
| def dict_for_self(self) -> BotSelf:
"""转换为机器人自身标识字典。
Returns:
机器人自身标识字典
"""
return {
"platform": self.platform,
"user_id": self.user_id,
}
|
dict_for_status()
转换为机器人状态字典。
Returns:
Source code in src/pylibob/types.py
| def dict_for_status(self) -> dict[str, Any]:
"""转换为机器人状态字典。
Returns:
机器人状态字典
"""
# sourcery skip: dict-assign-update-to-union
dic = {
"self": {
"platform": self.platform,
"user_id": self.user_id,
},
"online": self.online,
}
if self.extra is not None:
dic.update(
{f"{self.platform}.{k}": v for k, v in self.extra.items()},
)
return dic
|