discord-status-updater


Namediscord-status-updater JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/Kolcha/DiscordStatusUpdater
Summaryupdates Discord status depending on various conditions
upload_time2023-05-25 13:48:57
maintainer
docs_urlNone
authorNick Korotysh
requires_python>=3.8
licenseMIT
keywords discord
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Discord Status Updater
======================

This simple daemon/application updates your status in Discord depending on various conditions (behavior is customizable through the plugins). Right now only 2 plugins are implemented and enabled out-of-the-box:

* MPRIS listener - sets now playing item info as custom status
* screen lock listener - sets status to "idle" when screen is locked

Anything else can be implemented as additional plugin (even not in this package!), but there is no stable API for this yet. Some other default plugins may appear in the future.

Why?
----

Discord may set status depending on which application user runs (for example "Playing Minecraft" or "Listening to Spotify"), at least with some applications on Windows. But what about Linux? and/or whatever application? or if you want to show everyone the specific title of the item you are watching/listening to right now? This piece of software solves these questions (at least some of them).

Environment
-----------

This software is **Linux-only**, maybe even KDE-specific (not tested with other environments). It was developed in KDE environment and may rely on some KDE-specific DBus interfaces (at least I didn't find any documentation/specification for DBus signal I used to detect screen locking events).

It requires Python 3.8 or higher, developed with Python 3.11, lower versions are not tested but should work. The only "version-specific" code is a part of plugin system implementation, it uses some feature appeared in 3.8 (according to documentation).

Usage
-----

First of all, just install it as any other Python package, it has only few lightweight and pretty common dependencies. Then do the first run by typing `discord-status-updater` in terminal. It will generate default configuration file at `~/.config/discord-status-updater.json` and exit. You **must edit** this configuration file at least to set your Discord credentials.

No running Discord application is required to use this software. So, it is possible to start it with user session automatically (in any convenient way, e.g. placing .desktop file into `~/.config/autostart` or using "systemd" user service unit).

How it works
------------

This application is barely *another Discord client* (or "just bot" for simplicity) which listens to whatever system events and updates status according to them. It uses Discord API to update the status, so it needs to login as *you*, so that's why no running Discord app are required and credentials in the configuration file must exist.

Default plugins shipped with this package use DBus to track events they are interested in (aka "now playing" information or screen locking events), that's why it is Linux-specific.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Kolcha/DiscordStatusUpdater",
    "name": "discord-status-updater",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Discord",
    "author": "Nick Korotysh",
    "author_email": "nick.korotysh@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/97/bc/f541e52944ceadb7b380969eb9c61419cd2769bc552c2a3a0341042fba56/discord_status_updater-0.2.0.tar.gz",
    "platform": null,
    "description": "Discord Status Updater\n======================\n\nThis simple daemon/application updates your status in Discord depending on various conditions (behavior is customizable through the plugins). Right now only 2 plugins are implemented and enabled out-of-the-box:\n\n* MPRIS listener - sets now playing item info as custom status\n* screen lock listener - sets status to \"idle\" when screen is locked\n\nAnything else can be implemented as additional plugin (even not in this package!), but there is no stable API for this yet. Some other default plugins may appear in the future.\n\nWhy?\n----\n\nDiscord may set status depending on which application user runs (for example \"Playing Minecraft\" or \"Listening to Spotify\"), at least with some applications on Windows. But what about Linux? and/or whatever application? or if you want to show everyone the specific title of the item you are watching/listening to right now? This piece of software solves these questions (at least some of them).\n\nEnvironment\n-----------\n\nThis software is **Linux-only**, maybe even KDE-specific (not tested with other environments). It was developed in KDE environment and may rely on some KDE-specific DBus interfaces (at least I didn't find any documentation/specification for DBus signal I used to detect screen locking events).\n\nIt requires Python 3.8 or higher, developed with Python 3.11, lower versions are not tested but should work. The only \"version-specific\" code is a part of plugin system implementation, it uses some feature appeared in 3.8 (according to documentation).\n\nUsage\n-----\n\nFirst of all, just install it as any other Python package, it has only few lightweight and pretty common dependencies. Then do the first run by typing `discord-status-updater` in terminal. It will generate default configuration file at `~/.config/discord-status-updater.json` and exit. You **must edit** this configuration file at least to set your Discord credentials.\n\nNo running Discord application is required to use this software. So, it is possible to start it with user session automatically (in any convenient way, e.g. placing .desktop file into `~/.config/autostart` or using \"systemd\" user service unit).\n\nHow it works\n------------\n\nThis application is barely *another Discord client* (or \"just bot\" for simplicity) which listens to whatever system events and updates status according to them. It uses Discord API to update the status, so it needs to login as *you*, so that's why no running Discord app are required and credentials in the configuration file must exist.\n\nDefault plugins shipped with this package use DBus to track events they are interested in (aka \"now playing\" information or screen locking events), that's why it is Linux-specific.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "updates Discord status depending on various conditions",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/Kolcha/DiscordStatusUpdater"
    },
    "split_keywords": [
        "discord"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72a12f0bf56e449c5fb2b208076909e51b1611598037f3e80e88443e9d0fd564",
                "md5": "6de8608dae2144216d94535dbbbc8937",
                "sha256": "5cebfc46dbc3b0e8bf8a85bc83c485fcd59fd70d3d288ab2f1a69b7d4498e96a"
            },
            "downloads": -1,
            "filename": "discord_status_updater-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6de8608dae2144216d94535dbbbc8937",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 8809,
            "upload_time": "2023-05-25T13:48:56",
            "upload_time_iso_8601": "2023-05-25T13:48:56.611555Z",
            "url": "https://files.pythonhosted.org/packages/72/a1/2f0bf56e449c5fb2b208076909e51b1611598037f3e80e88443e9d0fd564/discord_status_updater-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97bcf541e52944ceadb7b380969eb9c61419cd2769bc552c2a3a0341042fba56",
                "md5": "d44e889d7ef5c0eb58fbfef92a94f23a",
                "sha256": "d670f83d9961b1dd69d808daf3ec58597306e746bc9626e339371a8a97ac6d62"
            },
            "downloads": -1,
            "filename": "discord_status_updater-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d44e889d7ef5c0eb58fbfef92a94f23a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 7849,
            "upload_time": "2023-05-25T13:48:57",
            "upload_time_iso_8601": "2023-05-25T13:48:57.780834Z",
            "url": "https://files.pythonhosted.org/packages/97/bc/f541e52944ceadb7b380969eb9c61419cd2769bc552c2a3a0341042fba56/discord_status_updater-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-25 13:48:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Kolcha",
    "github_project": "DiscordStatusUpdater",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "discord-status-updater"
}
        
Elapsed time: 0.06960s