{"id":20163044,"url":"https://github.com/purplelemons-dev/basementbot","last_synced_at":"2026-05-10T13:04:45.322Z","repository":{"id":78392017,"uuid":"455230643","full_name":"purplelemons-dev/basementbot","owner":"purplelemons-dev","description":"biggest project ive worked on ever. complex, highly functional discord bot that mastered how discord functions","archived":false,"fork":false,"pushed_at":"2023-01-16T23:46:10.000Z","size":924,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T02:37:41.541Z","etag":null,"topics":["discord","discord-bot","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/purplelemons-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-02-03T16:00:03.000Z","updated_at":"2023-01-16T23:43:05.000Z","dependencies_parsed_at":"2023-04-20T20:46:29.524Z","dependency_job_id":null,"html_url":"https://github.com/purplelemons-dev/basementbot","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/purplelemons-dev%2Fbasementbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Fbasementbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Fbasementbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purplelemons-dev%2Fbasementbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/purplelemons-dev","download_url":"https://codeload.github.com/purplelemons-dev/basementbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241600498,"owners_count":19988715,"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":["discord","discord-bot","python","python3"],"created_at":"2024-11-14T00:27:58.402Z","updated_at":"2026-05-10T13:04:45.228Z","avatar_url":"https://github.com/purplelemons-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BasementBot v2\n\nCreated by Josh Smith 07/12/2021.\n\nUses Discord API and slash commands.\nUses JSON to store client data when offline.\n\nYou can find what I'm working on or planning to work [at the project page](https://github.com/purplelemons-dev/basementbot/projects/1).\n\n## Abstract/Origin\n\nThe BasementBot was designed to \"absorb\" other bots on The Basement Discord server. Many lines of the code are hard-coded with IDs of various objects in The Basement Discord server, and will *not* work in any other server. I created BasementBot back in August of 2021 and have since then learned a lot about effective Python scripting, but some of the early BasementBot code is extremely convoluted and condensed because my favorite thing to do is see how many lines I can combine into one--regardless of efficiency.\n\nI would not reccomend trying to pull code from anywhere in this repo unless you have a few things under your belt: 1) *a ton* of experience with Python, and 2) *a ton* of experience with Discord bots. Another great thing to have is being able to problem solve. A lot of the code I wrote can and will break, so problem solving will help out a ton if you want to copy my code. Speaking of copying, feel free to use whatever's in this repo however you like! I'm always open to suggestions so open an issue or start a discussion!\n\n## Requirements\n\n### Files\nAdd `./logs/` directory. \nAdd `./env` file containing `bottoken=\u003cBOT'S TOKEN\u003e`.\n\n### Python - pip\nRun `python3.9 -m pip install discord.py discord-py-slash-command pytz dotenv` to install python packages. I'm not entirely sure that covers all the libraries used by BasementBot, but I'm sure you'll get some warnings at runtime...\n\n## General crap\n*added the following code to discord.member python file at line 235:*\n```py\ndef __dict__(self):\n    return {\n        'id': f'{self_user.id}',\n        'type': 'member',\n        'name': f'{self._user.name}',\n        'discriminator': f'{self._user.discriminator}',\n        'bot': f'{self._user.bot}',\n        'nick': f'{self.nick}',\n        'guild': f'{self.guild}'\n    }\n```\n*added the following code to discord.channel python file for TextChannel and VoiceChannel respectively*\n```py\ndef __dict__(self):\n    attrs = [\n        ('id', self.id),\n        ('type', 'text channel'),\n        ('name', self.name),\n        ('position', self.position),\n        ('nsfw', self.nsfw),\n        ('news', self.is_news()),\n        ('category_id', self.category_id)\n    ]\n    return dict(attrs)\n```\n############################################\n```py\ndef __dict__(self):\n    attrs = [\n        ('id', self.id),\n        ('type', 'voice channel'),\n        ('name', self.name),\n        ('rtc_region', self.rtc_region),\n        ('position', self.position),\n        ('bitrate', self.bitrate),\n        ('user_limit', self.user_limit),\n        ('category_id', self.category_id)\n    ]\n    return dict(attrs)\n```\n*added the following code to discord.role python file for Role*\n```py\ndef __dict__(self):\n    attrs = {\n        'id': self.id,\n        'type': 'role',\n        'name': self.name,\n        'color': self._colour,\n        'mentionable': self.mentionable,\n        'position': self.position\n    }\n    return attrs\n```\n*added the following code to discord.emoji python file for Emoji*\n```py\ndef __dict__(self):\n    attrs={\n        'id': self.id,\n        'type': 'emoji',\n        'name': self.name,\n        'animated': self.animated,\n        'managed': self.managed,\n        'url': self.url.BASE+self.url._url\n    }\n    return attrs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurplelemons-dev%2Fbasementbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpurplelemons-dev%2Fbasementbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurplelemons-dev%2Fbasementbot/lists"}