Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

elizaOS Roblox Plugin - Python Implementation

Python implementation of the Roblox plugin for elizaOS, enabling game communication via the Roblox Open Cloud API.

Features

  • Messaging Service: Cross-server communication with Roblox games
  • DataStore: Persistent data storage operations
  • User Lookup: Get player information by ID or username
  • Experience Info: Retrieve universe/experience metadata
  • Dry Run Mode: Test without making actual API calls
  • Fully Typed: Complete type annotations with Pydantic models

Installation

pip install elizaos-plugin-roblox

Or with development dependencies:

pip install elizaos-plugin-roblox[dev]

Usage

import asyncio
from uuid import uuid4
from elizaos_plugin_roblox import RobloxConfig, RobloxService

async def main():
    # Create config from environment or manually
    config = RobloxConfig.from_env()
    # Or: RobloxConfig(api_key="your-key", universe_id="12345")

    # Create and start service
    async with RobloxService(config, uuid4(), "MyAgent") as service:
        # Send a message to the game
        await service.send_message("Hello from Eliza!")

        # Execute a game action
        await service.execute_action(
            "spawn_item",
            {"item": "sword", "rarity": "legendary"},
            target_player_ids=[12345678],
        )

asyncio.run(main())

Configuration

Environment Variables

Variable Required Description
ROBLOX_API_KEY Yes Roblox Open Cloud API key
ROBLOX_UNIVERSE_ID Yes Universe ID of the experience
ROBLOX_PLACE_ID No Specific place ID
ROBLOX_WEBHOOK_SECRET No Secret for webhook validation
ROBLOX_MESSAGING_TOPIC No Messaging topic (default: "eliza-agent")
ROBLOX_POLL_INTERVAL No Poll interval in seconds (default: 30)
ROBLOX_DRY_RUN No Enable dry run mode (default: false)

API Reference

RobloxClient

Low-level API client:

from elizaos_plugin_roblox import RobloxClient, RobloxConfig

async with RobloxClient(config) as client:
    # Messaging
    await client.publish_message("topic", data)
    await client.send_agent_message(message)

    # DataStore
    entry = await client.get_datastore_entry("store", "key")
    await client.set_datastore_entry("store", "key", value)
    await client.delete_datastore_entry("store", "key")

    # Users
    user = await client.get_user_by_id(12345678)
    user = await client.get_user_by_username("PlayerName")
    avatar = await client.get_avatar_url(12345678)

    # Experience
    info = await client.get_experience_info()

RobloxService

High-level service for elizaOS integration:

from elizaos_plugin_roblox import RobloxService

async with RobloxService(config, agent_id, "AgentName") as service:
    await service.send_message("Hello!")
    await service.execute_action("action_name", params)

Development

Setup

pip install -e ".[dev]"

Testing

pytest

Type Checking

mypy elizaos_plugin_roblox

Linting

ruff check .
ruff format .

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elizaos_plugin_roblox-2.0.0a5.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elizaos_plugin_roblox-2.0.0a5-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file elizaos_plugin_roblox-2.0.0a5.tar.gz.

File metadata

  • Download URL: elizaos_plugin_roblox-2.0.0a5.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for elizaos_plugin_roblox-2.0.0a5.tar.gz
Algorithm Hash digest
SHA256 3ecc1f1c6f04ac28c26f697d234aab76ba3ca1c795ed19abdeb78951937f0570
MD5 aecabe3535b4d7b963310552c6ac335f
BLAKE2b-256 173c712d3d376dc3b2255482a1ece3fad6b6a53e3c8866c8092b6e589ed6d9dc

See more details on using hashes here.

File details

Details for the file elizaos_plugin_roblox-2.0.0a5-py3-none-any.whl.

File metadata

File hashes

Hashes for elizaos_plugin_roblox-2.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 b985d690f27da504fd3ae30ddc1cca4cdf82bc6e18ab4c9157286a0565dce072
MD5 851f7d4fb4ea39d6fbe77131670e1973
BLAKE2b-256 ab9b1e545bcb0dfa6c23b1a738262d3cc7400f2a63fefd29e50683e9fba31029

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.0a5 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page