Highrise Bot SDK,用于运行用Python编写的Highrise机器人。
项目描述
Highrise Python机器人SDK
Highrise Python机器人SDK是一个用于编写和运行Highrise机器人的Python库。
首先,安装库(最好是在虚拟环境中安装)
$ pip install highrise-bot-sdk==24.1.0
在Highrise网站的设置
部分中创建一个机器人并生成API令牌。您需要令牌才能稍后启动您的机器人。您还需要一个房间ID,以便您的机器人连接到该房间;房间需要由您拥有,或者您的机器人用户需要具有进入该房间的设计师权限。
打开一个新文件,并将以下内容粘贴进去以开始(例如,粘贴到mybot.py
中)
from highrise import BaseBot
class Bot(BaseBot):
pass
根据需要覆盖BaseBot
的方法。
准备好后,使用SDK从终端运行机器人,并给出Bot类的Python路径
$ highrise mybot:Bot <room ID> <API token>
变更日志
24.1.0 (2024-05-29)
- 支持在邀请消息中添加世界邀请
- 支持向用户发送批量消息(一次请求最多100个用户)
23.3.4 (2023-08-11)
- 支持多个房间。
- 从buy_room_boost和buy_voice_time中删除已弃用的选项。
23.3.3 (2023-08-11)
- 更改用于User的webapi模型,以与游戏中使用的模型匹配。
23.3.2 (2023-08-10)
- 降低在相同进程中启动多个机器人所需的时间。
- 添加对
RoomModeratedEvent
的支持,机器人现在可以覆盖on_moderate()
方法以处理此事件。在房间被任何用户管理时触发。 - 在webapi用户模型中添加对discord处理器的支持。
23.3.1 (2023-08-02)
- 添加位置到
on_user_join
处理器,这将允许机器人知道用户在房间加入时的位置。
23.3.0 (2023-07-17)
- 添加机器人获取其库存(
self.highrise.get_inventory()
)的支持。它返回机器人库存中物品的列表。 - 添加机器人获取其自己的装扮(
self.highrise.get_outfit()
)的支持。它返回机器人已装备的物品列表。 - 添加机器人更改其装扮(
self.highrise.set_outfit(outfit)
)的支持。它接受机器人应该装备的物品列表。机器人可以装备免费物品或其自己的库存中的物品。 - 添加机器人以机器人身份购买物品的支持(
self.highrise.buy_item(item_id)
)。它接受物品ID并尝试从highrise购买此物品。注意机器人只能使用自己的钱包购买物品。某些物品不可购买。请注意,机器人只能装备这些物品而不能交易它们,购买物品一次以上没有意义。 - 为Highrise Web API添加了物品和抓取辅助方法。
self.webapi.get_item()
:通过ID获取特定物品。self.webapi.get_items()
:检索物品列表。self.webapi.get_grab()
:通过ID获取特定抓取。self.webapi.get_grabs()
:检索房间列表。
23.2.0 (2023-07-5)
- 添加了对在房间中给用户打赏的支持(
self.highrise.tip_user(user_id, amount)
)。金额需要用金币表示。可能的值有:"gold_bar_1","gold_bar_5","gold_bar_10","gold_bar_50","gold_bar_100","gold_bar_500","gold_bar_1k","gold_bar_5000","gold_bar_10k",
23.1.0b16 (2023-07-03)
- 修复web-api模型问题。
23.1.0b15 (2023-06-30)
- 修复与cattrs的依赖问题。
23.1.0b14 (2023-06-30)
- 添加了Highrise Web API支持:在BaseBot类中引入了可通过
self.webapi
访问的辅助方法。这可以使用户轻松与Highrise Web API通信,以访问有关游戏公开信息。包括以下方法self.webapi.get_user()
:通过ID获取特定用户。self.webapi.get_users()
:检索用户列表。self.webapi.get_room()
:通过ID获取特定房间。self.webapi.get_rooms()
:检索房间列表。self.webapi.get_post()
:通过ID获取特定帖子。self.webapi.get_posts()
:检索帖子列表。
- 添加了一个方法来为房间购买房间提升(
self.highrise.buy_room_boost(payment_type, amount)
)。 - 添加了一个方法来为房间购买语音时间(
self.highrise.buy_voice_time(payment_type)
)。 - 这两个方法支持多种支付选项
bot_wallet_only
、bot_wallet_priority
、user_wallet_only
,允许机器人使用其自己的钱包或用户的钱包来支付购买费用。或者尝试优先使用机器人的钱包而不是用户的钱包。 - 获取钱包方法现在将返回房间提升代币和语音代币,如果机器人有任何的话。
23.1.0b13 (2023-06-19)
- 添加了一个可选的钩子,它在机器人启动时触发(
async def before_start(self) -> None:
)。所有机器人初始化都应该在这里完成,并且大多数像从文件读取、设置数据库连接这样的操作可以在这里完成,而不是在on_connect中。 - 启用机器人访问收件箱功能、直接对话以及如果收到用户消息时响应消息的支持。
- 添加了一个在机器人收到用户消息时触发的处理器(
async def on_message(user_id, conversation_id, is_new_conversation)
)。当用户向机器人发送游戏消息时,无论是新对话还是现有对话,都会触发此处理器。如果是新对话,则is_new_conversation
将被设置为True,否则将设置为False。 - 添加了机器人向用户发送消息的支持(
self.highrise.send_message(conversation_id, message, type, room_id)
)。这只能在现有对话中使用,如果找不到对话则将失败。机器人只能发送两种类型的消息,text
和invite
。Text是普通消息,机器人可以向用户发送文本消息,而invite用于邀请用户到房间。如果类型是invite,则必须提供room_id以生成用户的房间邀请。 - 为机器人添加列出对话的支持(
self.highrise.get_conversations(not_joined, last_id)
)。这将返回机器人开启的对话列表,对话分为两种类型:机器人已加入和未加入的。如果将not_joined
设置为True,则仅返回未加入的对话,否则仅返回已加入的对话。响应还将返回机器人未加入的对话数量。该方法将返回最多20个按时间顺序从新到旧排序的对话,如果提供了last_id
,则仅返回指定ID之前的对话。 - 为机器人添加列出对话中的消息的支持(
self.highrise.get_messages(conversation_id, last_id)
)。这将返回对话中的消息列表,最多返回20条消息,按时间顺序从新到旧排序。如果提供了last_id
,则仅返回指定ID之前的消息。conversation_id必须是从机器人可访问的对话中获取的。 - 为机器人添加退出对话的支持(
self.highrise.leave_conversation(conversation_id)
)。这将退出对话,机器人将不再收到该对话中用户的消息,也不会将该对话列入其列表。
23.1.0b12(2023-06-06)
- 为机器人添加获取用户着装信息(如果用户在房间内)的支持(
self.highrise.get_user_outfit(user_id)
)。 - 启用基于机器人使用的自动事件过滤。
23.1.0b11(2023-05-29)
- 添加支持在同一进程中运行多个机器人。
- 在连接时向会话元数据添加额外的房间信息,如所有者的ID和房间名称
- 添加支持语音聊天管理和信息,如果机器人所有者有权限获取信息或管理房间中的机器人,则机器人现在可以获取房间中语音聊天的信息(
self.highrise.get_voice_status()
) - 添加支持机器人邀请用户加入语音聊天(
self.highrise.add_user_to_voice(user_id)
) - 添加支持机器人从语音聊天中移除用户(
self.highrise.remove_user_from_voice(user_id)
) - 添加在房间中语音状态改变时触发的处理程序(
self.on_voice_change(users, seconds_left)
)
23.1.0b10(2023-05-12)
- 修复处理错误响应的bug。
23.1.0b9(2023-05-11)
- 添加支持在walk_to命令中将机器人移动到锚点(
self.highrise.walk_to(AnchorPosition)
)。 - 更改客户端ws消息的解析方式,如果消息不是有效的json,则返回错误。
23.1.0b8(2023-04-25)
- 添加支持将用户移动到另一个房间(
self.highrise.move_user_to_room(user_id, room_id)
)。 - 添加在用户在房间内移动时触发的处理程序(
self.on_user_move(user_id, position)
)。) - 扩展session_metadata信息,包含有关客户端速率的信息
- 如果客户端使用skd,则扩展session_metadata以包含有关sdk版本的信息
23.1.0b6(2023-04-17)
- 添加对Python 3.10的支持
23.1.0b5(2023-04-11)
- 添加获取用户房间权限的支持(
self.highrise.get_room_privilege(user_id)
)。 - 添加更改用户房间权限的支持(
self.highrise.set_room_privilege(user_id, privilege)
)。 - 添加对管理房间的支持(
self.highrise.moderate_room(user_id, moderate_action, action_length)
)。 - 重新设计处理keepalive的方式
23.1.0b4(2023-04-05)
- 现在,与请求映射到具有空响应的方法(
chat
,send_whisper
,send_emote
,react
,set_indicator
,send_channel
,walk_to
,teleport
)现在返回None
,并在错误响应上引发highrise.ResponseError
。 - 修复表情API。
- 内部重新设计请求处理以提高鲁棒性。
23.1.0b3(2023-04-03)
- 修复聊天API。
23.1.0b2(2023-04-03)
- 添加接收和发送反应的支持。
- 修复对隐藏频道的支持。
- 迁移到新的头像离开消息。
- 改进等待机器人方法时的并发性。
- 修复传送用户时的问题。
- 修复用户坐标问题。
- 添加了对获取机器人钱包的支持(
self.highrise.get_wallet()
)。
23.1.0b1(2023-03-28)
- 添加了对表情和隐藏频道消息的支持。
23.1.0b0(2023-03-10)
- 初始测试版本。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
highrise_bot_sdk-24.1.0.tar.gz (23.2 kB 查看哈希)
构建分发
highrise_bot_sdk-24.1.0-py3-none-any.whl (22.5 kB 查看哈希)
关闭
highrise_bot_sdk-24.1.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a4cc84ce4d82ea6d4061154c0b889b05bff16df6900b1145852a2c6ed585d608 |
|
MD5 | 5b4f248b883df1c59c1f04252381dede |
|
BLAKE2b-256 | f02aa391fda899e625b1da73d317c01243e1249bba4f3f1d49c2ce85777554d2 |
关闭
highrise_bot_sdk-24.1.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97fd091a71b6b6d08f627ecbcd06b60ecade3efeba297093750a565ddfa27d5b |
|
MD5 | a84492716f2a95000e668d7cb68c4b27 |
|
BLAKE2b-256 | 3d61255028f436b104fea096962f658c28d3e1ce97566f53a98b5707a2530faf |