{"id":16161506,"url":"https://github.com/gamemann/discord-global-chat","last_synced_at":"2025-07-19T17:13:47.545Z","repository":{"id":48879039,"uuid":"353573230","full_name":"gamemann/Discord-Global-Chat","owner":"gamemann","description":"Discord bot that syncs global chats.","archived":false,"fork":false,"pushed_at":"2023-04-12T21:10:19.000Z","size":95,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T12:30:41.743Z","etag":null,"topics":["bot","channels","chat","discord","discord-bot","discord-bots","discord-py","discordbot","discordpy","examples","globalchat","link","python","sqlite"],"latest_commit_sha":null,"homepage":"https://moddingcommunity.com/forums/topic/42-discord-global-chat-channels","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gamemann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-01T04:31:19.000Z","updated_at":"2025-02-16T12:55:54.000Z","dependencies_parsed_at":"2024-10-27T19:16:26.194Z","dependency_job_id":"f5bbfbe9-565f-41be-8e81-735bcb3cbc83","html_url":"https://github.com/gamemann/Discord-Global-Chat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gamemann%2FDiscord-Global-Chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gamemann%2FDiscord-Global-Chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gamemann%2FDiscord-Global-Chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gamemann%2FDiscord-Global-Chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gamemann","download_url":"https://codeload.github.com/gamemann/Discord-Global-Chat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243950894,"owners_count":20373663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","channels","chat","discord","discord-bot","discord-bots","discord-py","discordbot","discordpy","examples","globalchat","link","python","sqlite"],"created_at":"2024-10-10T02:25:29.696Z","updated_at":"2025-03-18T22:30:48.377Z","avatar_url":"https://github.com/gamemann.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord Global Chat\n## Description\nA Discord bot that allows for global chat between Discord servers in certain channels. Used for the Unnamed Discord community brand.\n\n## Requirements\nThe Discord.py [package](https://pypi.org/project/discord.py/) is required in order to use this bot. You may install this via the following command.\n\n```\npython3 -m pip install -U discord.py\n```\n\n### Enable Intents\nYou must enable intents within the Discord Developers portal under your project's \"Bot\" tab. You should only need \"Server Members Intent\", but I've enabled all three just in-case.\n\n![Intents Image](./images/intents.png)\n\n## Command Line Usage\nYou may specify the settings JSON (used for the bot token, etc) and the SQLite DB location within the command line. The default settings location is `/etc/dgc/settings.json` and the default SQLite DB location is `/etc/dgc/dgc.db`.\n\nThe following are examples of how to set these in the program.\n\n```\npython3 src/main.py cfg=/home/cdeacon/settings.json sqlite=/home/cdeacon/dgc.db\n```\n\n## Config\nThe config file is in JSON format and the following keys are supported.\n\n* **BotToken** - The Discord bot token. Please retrieve this from the Discord Developers page for your bot.\n* **BotMsgStayTime** - When the bot replies to a command in a text channel, delete the bot message this many seconds after (default - **10.0** seconds).\n* **UpdateTime** - How often to update the channel and web hook URL cache in seconds (default - **60.0** seconds).\n\n## Bot Commands\nThe command prefix is `!`. You must execute these commands inside of a text channel of the guild you want to modify. You must also be an administrator in order to use these commands.\n\n### dgc_linkchannel\n```\n!dgc_linkchannel \u003cchannel ID\u003e\n```\n\nAdds a channel to the linked global chat. If the channel ID is left blank, it will choose the channel the message was sent in.\n\n### dgc_unlinkchannel\n```\n!dgc_unlinkchannel \u003cchannel ID\u003e\n```\n\nUnlinks a channel to the linked global chat.\n\n### dgc_updatehook\n```\n!dgc_updatehook \u003cwebhook URL\u003e\n```\n\nUpdates the web hook that messages send to within the current guild. This must be pointed towards the correct channel ID set with `dgc_linkchannel`.\n\n## Installing\nYou may use `make install` within this directory to create the `/etc/dgc/` directory and copy `settings.json.example` to `/etc/dgc/settings.json`. Please configure the `settings.json` file to your needs.\n\nOther than that, the needed SQLite tables are created if they don't exist when the Python program is started. However, if need to be, here is the current table structure.\n\n```SQL\nCREATE TABLE IF NOT EXISTS `channels` (guildid integer PRIMARY KEY, channelid integer, webhookurl text)\n```\n\n## Starting\nAs of right now, you'll want to use `python3` against the `src/main.py` file. Something like the following should work.\n\n```bash\npython3 src/main.py\n```\n\nIf there's a better way to handle this, please let me know.\n\n## Credits\n* [Christian Deacon](https://github.com/gamemann)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgamemann%2Fdiscord-global-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgamemann%2Fdiscord-global-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgamemann%2Fdiscord-global-chat/lists"}