rumchat-actor


Namerumchat-actor JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryAutomatically interact with your Rumble livestream chats.
upload_time2024-05-10 14:21:17
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords bot chat livestream rumble
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Rumble Chat Actor
Automatically interact with your Rumble livestream chats.

This project requires the following python libraries:
- [Cocorum](https://pypi.org/project/cocorum/)
- [Selenium](https://pypi.org/project/selenium/)

Additional software requirements:
- [Firefox](https://www.mozilla.org/en-US/firefox/new/)

This is basically meant to be a FOSS local implementation of The Rumble Bot, and should run alongside your streaming software and / or other applications on most systems.

Example usage:
```
import rumchat_actor

def eat_some_cheese(message, actor):
    """If a message mentions cheese, eat some cheese"""
    if "cheese" in message.text.lower():
        actor.send_message(f"@{message.user.username} Eat some cheese 🧀.")

    return True #Actions should return None or False if they had to delete a message

#stream_id is either the base 10 or base 36 livestream ID you want the Actor to connect to, obtained from the popout chat or the Rumble Live Stream API.
#If stream_id is None but you pass api_url, the latest livestream shown on the API is chosen automatically.
#If you pass profile_dir to an existing Firefox profile directory, your sign-ins to Rumble chat for the actor will be saved.
#Otherwise, you will have to log in manuaglly each time you use the bot, or pass credentials = (username, password).
actor = rumchat_actor.RumbleChatActor(stream_id = STREAM_ID)

#Register an action to be called on every message
actor.register_message_action(eat_some_cheese)

#Register a command via the ChatCommand class
actor.register_command(rumchat_actor.ChatCommand(name = "hi", actor = actor, target = lambda message, actor: actor.send_message(f"Hello, @{message.user.username}!")))

#Register a command via a callable
actor.register_command(name = "tester", command = lambda message, actor: print(f"Test command run by {message.user.username}"))

#Run the bot continuously
actor.mainloop()
```

You would write this script, and run it as your local Rumble Chat Actor instance. Note that it currently does not exit on its own when a livestream ends.
Hope this helps!

I, Wilbur Jaywright, and my brand, Marswide BGL, have no official association with Rumble Corp. beyond that of a normal user and/or channel on the Rumble Video platform. This wrapper is not officially endorsed by Rumble Corp. or its subsidiaries.

S.D.G.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rumchat-actor",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "bot, chat, livestream, rumble",
    "author": null,
    "author_email": "Wilbur Jaywright <zargulthewizard@outlook.com>",
    "download_url": "https://files.pythonhosted.org/packages/7b/1b/633037fce733f5efd97f7e9794fd2656f2d52b285d746aa4843ee9509130/rumchat_actor-1.1.0.tar.gz",
    "platform": null,
    "description": "# Rumble Chat Actor\nAutomatically interact with your Rumble livestream chats.\n\nThis project requires the following python libraries:\n- [Cocorum](https://pypi.org/project/cocorum/)\n- [Selenium](https://pypi.org/project/selenium/)\n\nAdditional software requirements:\n- [Firefox](https://www.mozilla.org/en-US/firefox/new/)\n\nThis is basically meant to be a FOSS local implementation of The Rumble Bot, and should run alongside your streaming software and / or other applications on most systems.\n\nExample usage:\n```\nimport rumchat_actor\n\ndef eat_some_cheese(message, actor):\n    \"\"\"If a message mentions cheese, eat some cheese\"\"\"\n    if \"cheese\" in message.text.lower():\n        actor.send_message(f\"@{message.user.username} Eat some cheese \ud83e\uddc0.\")\n\n    return True #Actions should return None or False if they had to delete a message\n\n#stream_id is either the base 10 or base 36 livestream ID you want the Actor to connect to, obtained from the popout chat or the Rumble Live Stream API.\n#If stream_id is None but you pass api_url, the latest livestream shown on the API is chosen automatically.\n#If you pass profile_dir to an existing Firefox profile directory, your sign-ins to Rumble chat for the actor will be saved.\n#Otherwise, you will have to log in manuaglly each time you use the bot, or pass credentials = (username, password).\nactor = rumchat_actor.RumbleChatActor(stream_id = STREAM_ID)\n\n#Register an action to be called on every message\nactor.register_message_action(eat_some_cheese)\n\n#Register a command via the ChatCommand class\nactor.register_command(rumchat_actor.ChatCommand(name = \"hi\", actor = actor, target = lambda message, actor: actor.send_message(f\"Hello, @{message.user.username}!\")))\n\n#Register a command via a callable\nactor.register_command(name = \"tester\", command = lambda message, actor: print(f\"Test command run by {message.user.username}\"))\n\n#Run the bot continuously\nactor.mainloop()\n```\n\nYou would write this script, and run it as your local Rumble Chat Actor instance. Note that it currently does not exit on its own when a livestream ends.\nHope this helps!\n\nI, Wilbur Jaywright, and my brand, Marswide BGL, have no official association with Rumble Corp. beyond that of a normal user and/or channel on the Rumble Video platform. This wrapper is not officially endorsed by Rumble Corp. or its subsidiaries.\n\nS.D.G.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Automatically interact with your Rumble livestream chats.",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "https://github.com/thelabcat/rum-chat-actor",
        "Issues": "https://github.com/thelabcat/rumble-api-wrapper-py/issues"
    },
    "split_keywords": [
        "bot",
        " chat",
        " livestream",
        " rumble"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "28cea20b83852b81dc2fd6afbcf4de51825f1ac1fcdad5ae8f4000ebbc251aa2",
                "md5": "67c928d104e5305cee1aa84425640681",
                "sha256": "5708b21e8528eef4358aeecdacc8fdd8517724d89cff74477f8eab4dea9ad086"
            },
            "downloads": -1,
            "filename": "rumchat_actor-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "67c928d104e5305cee1aa84425640681",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 26451,
            "upload_time": "2024-05-10T14:21:16",
            "upload_time_iso_8601": "2024-05-10T14:21:16.127969Z",
            "url": "https://files.pythonhosted.org/packages/28/ce/a20b83852b81dc2fd6afbcf4de51825f1ac1fcdad5ae8f4000ebbc251aa2/rumchat_actor-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b1b633037fce733f5efd97f7e9794fd2656f2d52b285d746aa4843ee9509130",
                "md5": "35db017aa6673e9f39576e46596fbccf",
                "sha256": "0c77f6a62248ec58bcc0904455989749bcbcfdf3f426e04545539ae0677fc674"
            },
            "downloads": -1,
            "filename": "rumchat_actor-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "35db017aa6673e9f39576e46596fbccf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 25324,
            "upload_time": "2024-05-10T14:21:17",
            "upload_time_iso_8601": "2024-05-10T14:21:17.839482Z",
            "url": "https://files.pythonhosted.org/packages/7b/1b/633037fce733f5efd97f7e9794fd2656f2d52b285d746aa4843ee9509130/rumchat_actor-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-10 14:21:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "thelabcat",
    "github_project": "rum-chat-actor",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "rumchat-actor"
}
        
Elapsed time: 0.24640s