# Chumbot
The Conveying Harmonies Unto Mumble Bot, or Chumbot, is a Mumble soundboard and notification bot
written in Python 3. Chumbot relies on the [PYMUMBLE](https://pypi.org/project/pymumble/) API,
which requires the `opuslib` and `protobuf` Python libraries as well as `libopus` being available
on the host machine.
Chumbot is currently not supported on Windows.
## Installation
### For users
The Chumbot client can be installed via [pip](https://pypi.org/project/chumbot/):
`pip install chumbot`
### For developers
Chumbot can be installed for development by first installing [Poetry](https://python-poetry.org/docs/) and running
the following command within the project directory:
`poetry install`
## Usage
Chumbot is run from the command line. Audio clips should be stored in mp3 format.
```
usage: chumbot [-h] [-u USERNAME] [-H HOST] [-P PORT] [-p PASSWORD] [-d]
Chumbot command-line interface
options:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
specify Chumbot's username
-H HOST, --host HOST specify the Mumble host address
-P PORT, --port PORT specify the Mumble host port
-p PASSWORD, --password PASSWORD
specify the Mumble host password
-d, --debug enable debug message printing
```
## Configuration
Chumbot configuration is stored in `~/.config/chumbot.ini`. Chumbot must be configured to know where
audio files are stored.
Chumbot can be configured to play a specific clip when a link or image is posted
or when a user joins or leaves a channel. It can even be configured to play a personalized 'join' or 'disconnect'
sound for each user.
An example `chumbot.ini`:
```
[mumble]
Username = chumbot
Host = example.murmur.nfoservers.com
Port = 2112
Password = 1234
[clips]
ClipDir = ~/chumbot-clips
LinkPostedClipName = link_clip
UserJoinedClipName = default_join_clip
UserLeftClipName = default_leave_clip
[join]
user1 = join_clip1
user2 = join_clip2
user3 = join_clip3
[disconnect]
user1 = disconnect_clip1
user2 = disconnect_clip2
user3 = disconnect_clip3
```
## Contributing
Contributions are taken and any pull requests will be reviewed by me (eventually).
Please attempt to adhere to the coding practices in `.pylintrc`. Ensure no pylint
warnings are generated before creating a PR.
Raw data
{
"_id": null,
"home_page": "https://github.com/Boogie3D/chumbot",
"name": "chumbot",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "mumble,bot,pymumble,sound,soundboard,meme",
"author": "Steven Anaya",
"author_email": "anayastevenr@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9b/57/f8c116ec2edbc6f25dabf6cf48ef1a4b65295fe2d5a41a8bebd23b8d67c8/chumbot-0.7.3.tar.gz",
"platform": null,
"description": "# Chumbot\nThe Conveying Harmonies Unto Mumble Bot, or Chumbot, is a Mumble soundboard and notification bot\nwritten in Python 3. Chumbot relies on the [PYMUMBLE](https://pypi.org/project/pymumble/) API,\nwhich requires the `opuslib` and `protobuf` Python libraries as well as `libopus` being available\non the host machine.\n\nChumbot is currently not supported on Windows.\n\n## Installation\n### For users\nThe Chumbot client can be installed via [pip](https://pypi.org/project/chumbot/):\n\n`pip install chumbot`\n\n### For developers\nChumbot can be installed for development by first installing [Poetry](https://python-poetry.org/docs/) and running\nthe following command within the project directory:\n\n`poetry install`\n\n## Usage\nChumbot is run from the command line. Audio clips should be stored in mp3 format.\n```\nusage: chumbot [-h] [-u USERNAME] [-H HOST] [-P PORT] [-p PASSWORD] [-d]\n\nChumbot command-line interface\n\noptions:\n -h, --help show this help message and exit\n -u USERNAME, --username USERNAME\n specify Chumbot's username\n -H HOST, --host HOST specify the Mumble host address\n -P PORT, --port PORT specify the Mumble host port\n -p PASSWORD, --password PASSWORD\n specify the Mumble host password\n -d, --debug enable debug message printing\n```\n\n## Configuration\nChumbot configuration is stored in `~/.config/chumbot.ini`. Chumbot must be configured to know where\naudio files are stored.\n\nChumbot can be configured to play a specific clip when a link or image is posted\nor when a user joins or leaves a channel. It can even be configured to play a personalized 'join' or 'disconnect'\nsound for each user.\n\nAn example `chumbot.ini`:\n\n```\n[mumble]\nUsername = chumbot\nHost = example.murmur.nfoservers.com\nPort = 2112\nPassword = 1234\n\n[clips]\nClipDir = ~/chumbot-clips\nLinkPostedClipName = link_clip\nUserJoinedClipName = default_join_clip\nUserLeftClipName = default_leave_clip\n\n[join]\nuser1 = join_clip1\nuser2 = join_clip2\nuser3 = join_clip3\n\n[disconnect]\nuser1 = disconnect_clip1\nuser2 = disconnect_clip2\nuser3 = disconnect_clip3\n```\n\n## Contributing\nContributions are taken and any pull requests will be reviewed by me (eventually).\n\nPlease attempt to adhere to the coding practices in `.pylintrc`. Ensure no pylint\nwarnings are generated before creating a PR.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A chummy soundboard bot client for Mumble.",
"version": "0.7.3",
"project_urls": {
"Homepage": "https://github.com/Boogie3D/chumbot",
"Repository": "https://github.com/Boogie3D/chumbot"
},
"split_keywords": [
"mumble",
"bot",
"pymumble",
"sound",
"soundboard",
"meme"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d36b18db6a12a2fdbb527e701a98f5007e7f4ae82ad1700480b275ffd3eb0184",
"md5": "e61a239ed7481ac3dbeddca20dd0c1d2",
"sha256": "6b6537620f99c03a775006f09ffd2b6d08b8c28be905d58b78b231b24cd09c4f"
},
"downloads": -1,
"filename": "chumbot-0.7.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e61a239ed7481ac3dbeddca20dd0c1d2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 13540,
"upload_time": "2023-09-25T01:52:46",
"upload_time_iso_8601": "2023-09-25T01:52:46.674907Z",
"url": "https://files.pythonhosted.org/packages/d3/6b/18db6a12a2fdbb527e701a98f5007e7f4ae82ad1700480b275ffd3eb0184/chumbot-0.7.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b57f8c116ec2edbc6f25dabf6cf48ef1a4b65295fe2d5a41a8bebd23b8d67c8",
"md5": "c998338ac963f16d802d488b543a9cae",
"sha256": "80c224b0bba471077b456673bf87ff3ec9fb786159b7b8e56d7cb6ea5a2a9ed3"
},
"downloads": -1,
"filename": "chumbot-0.7.3.tar.gz",
"has_sig": false,
"md5_digest": "c998338ac963f16d802d488b543a9cae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 11926,
"upload_time": "2023-09-25T01:52:47",
"upload_time_iso_8601": "2023-09-25T01:52:47.979665Z",
"url": "https://files.pythonhosted.org/packages/9b/57/f8c116ec2edbc6f25dabf6cf48ef1a4b65295fe2d5a41a8bebd23b8d67c8/chumbot-0.7.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-25 01:52:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Boogie3D",
"github_project": "chumbot",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "chumbot"
}