跳转到主要内容

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_onlybot_wallet_priorityuser_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))。这只能在现有对话中使用,如果找不到对话则将失败。机器人只能发送两种类型的消息,textinvite。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)

  • 现在,与请求映射到具有空响应的方法(chatsend_whispersend_emotereactset_indicatorsend_channelwalk_toteleport)现在返回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 查看哈希)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面