{ "info": { "author": "Nat Osaka", "author_email": "natthetupper@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Communications :: Chat" ], "description": "# ![logo_small.png](https://github.com/NatTupper/dline/raw/rewrite/images/logo/logo_small.png)\n------------------------------\n\n![screenshot_main.png](https://github.com/NatTupper/dline/raw/rewrite/images/screenshots/screenshot_main.png)\n\n__**Warning**__: Currently Linux/BSD/Mac only, it may be a while before support for Windows comes back\n\n**Note**: You can find a feature list, current bugs, and things I'm currently working\non on my [webpage](http://natosaka.host/dline.html).\n\n## How to install\n-------------------------\n\n### Option A: pip (through PyPi)\n\n1. Run \n `pip3 install --user --process-dependency-link dline`\n\n### Option B: pip (local repository)\n\n1. Clone repo \n `git clone https://github.com/NatTupper/dline`\n2. Run \n `pip3 install --user --process-dependency-link .`\n\n### Option C: Running from the repo folder\n\n1. Clone the repo \n `git clone https://github.com/NatTupper/dline`\n2. Install the dependencies: \n `pip3 install --user -r requirements.txt`\n\n\n## How to use\n--------------------------\n1. Find your discord \"token\"\n * Go to http://discordapp.com/channels/@me\n * Open your browser's developer console. (Normally `F12` or `CTRL-SHIFT-I`)\n * Go into \"network\" and hit F5. Type \"v6\" in the filter field\n * Filter by XHR and look through entries until you find \"authorization\" under\n \"request headers\". This is your token.\n If all else fails, join the dev discord and we'll be glad to help!\n2. Run `dline --store-token` to store your token\n3. Run `dline --copy-skeleton` to get a template config\n4. Edit `~/.config/dline/config.yaml` to your choosing.\n5. Launch with `dline` (if you installed with pip) or ./dline.py (Running in repo\n folder)\n\n\n### Current Features\n--------------------------\n\n* /channel to switch channel\n* /guild to switch guild\n* /nick to change nickname (per guild)\n* typing without a leading prefix will submit to current chat\n* \" is typing...\" support\n* private messaging\n* colored output, with user definable colors and custom roles\n* Channel logs update when users edit messages\n* /channels, /guilds, /users to view information\n* /game to update the \"Now playing: \" status\n* use /help to see more commands\n* unicode emoji displayal support\n* sending emojis in messages (unicode *and* custom)\n* File uploading via path (ex: /file /path/to/file)\n* italic, bold, and underline font support\n* inline \\`code\\` and \\`\\`\\`code\\`\\`\\` block support\n* URL detection, highlighting in blue + italics\n* automatic updating, fetching the latest master branch's commit\n* channel logs blink red upon unread messages\n* line scrolling\n* discord \"Nitro\" emojis\n* Externalized configs via YAML ~/.config/dline/config.yaml\n* @member expansion/mentions\n* /status to change online presence\n\nSee my [webpage](https://natosaka.host/dline.html) for more information on features.\n\n### Color Customization\n------------------------\n\nAlmost all aspects of the client can be colored to the user's wishes. You can set\nthese colors from within\n`~/.config/dline/config.yaml`\n\nNote: These assume that you're using the standard terminal colors. If you have colors\nalready defined in your ~/.Xresources or similar, this will be very confusing.\n\n## Launching\n------------------------\ndline uses git for automatic updates, so you must be within the dline directory upon\nstarting. Manually you can launch via `python3.7 ./dline.py`, however it is advised\nto create a helper script to do this for you.\n\n### A Note On Emojis\n-------------------------\n\nCurrently *most* of the standard unicode emojis are displaying. Note your terminal\nmust be able to render these symbols *and* you must be using a font set that contains\nthem. Because some of the emojis that discord uses are non-standard, they may not\ndisplay properly. Here is an example of a random few.\n\n![Image](https://images-ext-2.discordapp.net/external/iN52NdGOWqdWOxby88wiEGs8R81j33ndPjgKX8eKUNA/https/0x0.st/soIy.png?width=400&height=32)\n\nCustom emojis however, are displayed as :emoji_name:\n\n### Note On Font Support\n-------------------------\n\nLike emojis, not all terminals and fonts support italic/bold/underline and\n'background' colors, (which are used for \\`code\\`). If these features aren't working\nfor you, odds are you are not using a supported terminal/font. Experiment with\ndifferent setups to see what works.\n\n*Letting me know what setups __don't__ work helps a lot!*\n\n### Dude this is awesome! How can I support the project?\n--------------------------------------------------------\n\nStar it! \ud83c\udf1f\n\nIt helps to get it higher in GitHub's search results as well as making me feel good\ninside. ;)\n\nIf you'd like to contribute, pull requests are __*always*__ welcome!\n\nIf you would like to get more info on what could be done or to discuss the project in\ngeneral, come join the Discord guild at: https://discord.gg/HWY2dDg. You can also try\njoining Discline's guild (which this project is a fork of) here:\nhttps://discord.gg/rBGQMTk.\n\n### FAQ\n-------------------------\n\n> Yet another discord cli?\n\nI didn't like any of the implementations I found around github. Too buggy. Too\nbloated. Bad UI. No customization. Some, after discord updates, no longer functioning\nat all.\n\n> Why use a token and not email/password?\n\nDiscord's API __does__ allow for email/pass login, but if you were to have 2FA, (2\nfactor authentication), enabled on your account, Discord would interpret this as a\nmalicious attack against your account and disable it.\n\nSo, because *\"Nobody reads the readme\"*, I have disabled this.\n\n> How should I submit a GitHub issue?\n\nTry to include this format:\n\n```\nOS: Linux/Debian\nTerminal: urxvt\nFont: source code pro\nPython Version: 3.6\nHow to reproduce: xxxxxx\n```\n\n> It says my python is out of date even though I have 3.5+ installed?\n\nProbably because you have multiple versions installed. Try running with\n`python3.5` or `python3.6` rather than just \"python3\"\n\n> I'm getting weird encoding errors on startup\n\nYou probably don't have UTF-8 set. If you're using Linux, look up how to do this\naccording to your distro.\n\nIf you're on BSD, add this to your /etc/profile:\n\n```\nexport LC_CTYPE=en_US.UTF-8\nexport LESSCHARSET=utf-8\n```\n\nand make sure it gets sourced upon opening your terminal.\n\n### Misc Screenshots\n--------------------------\n\n![Image](https://github.com/NatTupper/dline/raw/rewrite/images/screenshots/kingk22-screenshot.png)\n\nIt can even be configured to hide most elements of the UI in the config:\n\n![Image](https://github.com/NatTupper/dline/raw/rewrite/images/screenshots/minimal_brown_ss.png)\n\n### Known Bugs\n--------------------------\n\n> My bug isn't listed here, how can I voice my problem?\n\nIf you have a specific issue that isn't listed here or in the wiki, post a github\nissue with a detailed explanation and I can try to get it fixed. Join the discord if\nyou want live help.\n\nSee my [webpage](https://natosaka.host/dline.html) for more information on bugs.\n\n### Token Warning\n-------------------------------\nDo *NOT* share your token with anybody, if someone else gets ahold of your token,\nthey may control your account. If you are someone who keeps their ~/.config on\ngithub, **add your token to your .gitignore**. Otherwise it will become public.\n\n\n### License\n-------------------------------\n\nLicensed under GNU-GPLv3\n\n\n### Legal Disclaimer\n--------------------------------\n\nDiscord hasn't put out any official statement on whether using their API for 3rd\nparty clients is allowed or not. They *have* said that using their API to make\n\"self-bots\" is against their ToS. By self-bots, it is my understanding they mean\nautomating non-bot accounts as bots. My code has no automated functions, or any\non_events that provide features not included in the official client.\n\nAs far as I know, nobody has been banned for using things like this before, but\nDiscord might one day change their mind. With this said, I take **no** responsibility\nif this gets you banned.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/NatTupper/dline", "keywords": "discord,discord.py,chat client,ncurses", "license": "gpl-3.0", "maintainer": "", "maintainer_email": "", "name": "dline", "package_url": "https://pypi.org/project/dline/", "platform": "", "project_url": "https://pypi.org/project/dline/", "project_urls": { "Homepage": "https://github.com/NatTupper/dline" }, "release_url": "https://pypi.org/project/dline/2.4.1/", "requires_dist": null, "requires_python": "", "summary": "A feature-rich terminal discord client", "version": "2.4.1" }, "last_serial": 4462685, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "7b5eb7e1bc37fd17c9d9a598443a055f", "sha256": "7c5833d61810942bc036616ad2782434090e3d8cab27482229c0b3dc49c440b3" }, "downloads": -1, "filename": "dline-2.0.0.tar.gz", "has_sig": false, "md5_digest": "7b5eb7e1bc37fd17c9d9a598443a055f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69258, "upload_time": "2018-09-18T11:25:09", "url": "https://files.pythonhosted.org/packages/67/d9/473b877d29d3a5304eb32e7448669ecaa0d59b2e5082a1f1508bc21aaa32/dline-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2a550cba712396ae02b2802b2cefe34b", "sha256": "91fd4a37442b0c2f031b6b8c89f26683d1a98eb8155328511c11da54c298be16" }, "downloads": -1, "filename": "dline-2.0.1.tar.gz", "has_sig": false, "md5_digest": "2a550cba712396ae02b2802b2cefe34b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46672, "upload_time": "2018-09-18T14:47:38", "url": "https://files.pythonhosted.org/packages/39/6d/bfa97ed62e17a536d6cce847a464665dc72abc2d9a84626730aaaef13659/dline-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "8f003e9ebb5e7419cc5c34b37d343015", "sha256": "d786b58164a8a3b445ad5b071567517d9fb21b67d5a17009a4f0d7fff1da8540" }, "downloads": -1, "filename": "dline-2.1.0.tar.gz", "has_sig": false, "md5_digest": "8f003e9ebb5e7419cc5c34b37d343015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46674, "upload_time": "2018-09-19T19:04:37", "url": "https://files.pythonhosted.org/packages/08/78/9a2c61f1a37d83de1cdaa496a89ae4199169b8a16dea551622a8aec3c59f/dline-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "b5c7ad828f7ad9b4b592f0c9b07af386", "sha256": "9799a08b6ee346de24b714b682b7ec68e0530d5a4cfd7c4b45949f70b0096fdc" }, "downloads": -1, "filename": "dline-2.1.1.tar.gz", "has_sig": false, "md5_digest": "b5c7ad828f7ad9b4b592f0c9b07af386", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46620, "upload_time": "2018-09-20T09:41:32", "url": "https://files.pythonhosted.org/packages/aa/dd/578c66d3f5681965a9499764f3a0e5fc6d36887761cbdc63e491b84e9232/dline-2.1.1.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "df1455c3f12e4039526cf01fd33aa202", "sha256": "42c6525116e8acab82a4749d6b45207664d7badfd528f0eb41d01ca62e7019a8" }, "downloads": -1, "filename": "dline-2.1.3.tar.gz", "has_sig": false, "md5_digest": "df1455c3f12e4039526cf01fd33aa202", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46599, "upload_time": "2018-09-20T11:40:39", "url": "https://files.pythonhosted.org/packages/12/0e/7a37766094c3e94e4178a1cd731956c1415560573c0e58873d0a2f1ac3a5/dline-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "ce8030d734371e609910a3ff98f6f079", "sha256": "aa4bebcd306a219726790316afd485a9597680047f317e4e0b810851d822a9b1" }, "downloads": -1, "filename": "dline-2.1.4.tar.gz", "has_sig": false, "md5_digest": "ce8030d734371e609910a3ff98f6f079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46773, "upload_time": "2018-09-21T17:31:57", "url": "https://files.pythonhosted.org/packages/d5/23/48472e72d0ea19aed01a80e95d33312597519c23bed5f23610eaec90bfee/dline-2.1.4.tar.gz" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "ffe62ac21a94102249db033811db4803", "sha256": "f790f138a52ce54a03bf3bfcb2d23a940bba376363391eb99855f3d29e40d1ba" }, "downloads": -1, "filename": "dline-2.1.5.tar.gz", "has_sig": false, "md5_digest": "ffe62ac21a94102249db033811db4803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47303, "upload_time": "2018-09-22T13:56:19", "url": "https://files.pythonhosted.org/packages/79/ea/5f3f7bc48bdd9d564fa891f2dd7d7e65af365a1fa24eea5e9690a666bdb9/dline-2.1.5.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "de0ecba63eef19f6802c53894d29aee1", "sha256": "2d798ad257369c5346f01de43abb496451d6d11a888a2f12492052d5976b2cda" }, "downloads": -1, "filename": "dline-2.2.0.tar.gz", "has_sig": false, "md5_digest": "de0ecba63eef19f6802c53894d29aee1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47626, "upload_time": "2018-09-24T11:46:14", "url": "https://files.pythonhosted.org/packages/cf/62/e3f08cddd99fec2e119cec40e99914b29df5129ee5041a7ce0136f32b5df/dline-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "1ba394523b8aecc172a842c7ebd1e045", "sha256": "85795f400d9725aca0ebc58b74faf229db1690192d051e31b2832e042a8eb1e3" }, "downloads": -1, "filename": "dline-2.3.0.tar.gz", "has_sig": false, "md5_digest": "1ba394523b8aecc172a842c7ebd1e045", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47834, "upload_time": "2018-09-25T17:51:18", "url": "https://files.pythonhosted.org/packages/0f/ae/037396270e3aa31ae9aae73c93c98d45e500199d05388b877e324ddeec3b/dline-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "1e55398950e90753ed8e47883a31c13c", "sha256": "bc39e55d4d02aaac2b8a267e54986594c04b2f62c77ed99059fe534ba48d4a23" }, "downloads": -1, "filename": "dline-2.3.1.tar.gz", "has_sig": false, "md5_digest": "1e55398950e90753ed8e47883a31c13c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47836, "upload_time": "2018-09-25T18:04:29", "url": "https://files.pythonhosted.org/packages/c2/8e/57da37c59c3f9c23e2740347e48f015657d6b4647166607124caef7c57bc/dline-2.3.1.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "d6c7442655292a1ff86b6ee78b99f990", "sha256": "65cc6f4e0d2c6f53bbc7b826b94cef6d01cfbdd8316d401f445dc9ed236cef99" }, "downloads": -1, "filename": "dline-2.3.2.tar.gz", "has_sig": false, "md5_digest": "d6c7442655292a1ff86b6ee78b99f990", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47837, "upload_time": "2018-09-27T11:19:17", "url": "https://files.pythonhosted.org/packages/33/73/a4d1363744a1cba03803fbdfe7a2e2449bb625a530c76c129e3088dfd9dc/dline-2.3.2.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "bb69a8774be7cb513a604261a273dfbd", "sha256": "9e590a8aba30d04a72608576c53a0167fe308828c7923d25bba72d63eb093a43" }, "downloads": -1, "filename": "dline-2.4.1.tar.gz", "has_sig": false, "md5_digest": "bb69a8774be7cb513a604261a273dfbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48175, "upload_time": "2018-11-07T19:28:18", "url": "https://files.pythonhosted.org/packages/24/b2/57a4313cb2a101e87a093c82bd49064ed01c0ad195de7087c7f22c6b3dd0/dline-2.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bb69a8774be7cb513a604261a273dfbd", "sha256": "9e590a8aba30d04a72608576c53a0167fe308828c7923d25bba72d63eb093a43" }, "downloads": -1, "filename": "dline-2.4.1.tar.gz", "has_sig": false, "md5_digest": "bb69a8774be7cb513a604261a273dfbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48175, "upload_time": "2018-11-07T19:28:18", "url": "https://files.pythonhosted.org/packages/24/b2/57a4313cb2a101e87a093c82bd49064ed01c0ad195de7087c7f22c6b3dd0/dline-2.4.1.tar.gz" } ] }