{"id":16419658,"url":"https://github.com/foo290/agness-bot","last_synced_at":"2025-08-24T22:46:30.313Z","repository":{"id":56150338,"uuid":"303810095","full_name":"foo290/Agness-Bot","owner":"foo290","description":"Agness is a discord bot for moderation/fun with awesome music streaming functionality and much more...","archived":false,"fork":false,"pushed_at":"2021-02-06T07:15:58.000Z","size":34820,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-06T21:49:04.252Z","etag":null,"topics":["discord","discord-bot","discord-py","discord-python-bot","moderation-bot","music-bot","music-bot-discord","music-streaming","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foo290.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-13T19:35:50.000Z","updated_at":"2022-04-25T10:09:55.000Z","dependencies_parsed_at":"2022-08-15T13:40:25.876Z","dependency_job_id":null,"html_url":"https://github.com/foo290/Agness-Bot","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/foo290%2FAgness-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo290%2FAgness-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo290%2FAgness-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foo290%2FAgness-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foo290","download_url":"https://codeload.github.com/foo290/Agness-Bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240491635,"owners_count":19809977,"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","discord-py","discord-python-bot","moderation-bot","music-bot","music-bot-discord","music-streaming","python","python3"],"created_at":"2024-10-11T07:25:28.725Z","updated_at":"2025-02-24T13:41:21.941Z","avatar_url":"https://github.com/foo290.png","language":"Python","readme":"\n\u003ch1 align='center'\u003eAgness-Bot\u003c/h1\u003e\n\nA discord bot for moderation and fun activity and music streaming and many more and... O_o \u003cbr\u003e\n\nThe bot is self hosted that means you have the code which is ready to go on server, **Your server.** \n\n\n## Music powered by :\n\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003ca href='https://github.com/foo290/resonate-beats'\u003e\u003cimg src='https://github.com/foo290/resonate-beats/blob/main/readme_imgs/resonate-beats-logo.png' width=50px, alt='an image was supposed to be here'\u003e\u003c/a\u003e \u003cbr /\u003e\n\u003ca href='https://github.com/foo290/resonate-beats'\u003eresonate-beats\u003c/a\u003e\n\n\n## Setup :\n\nThere are some minor setting that you'd ahve to do before get going. There is a \u003ca href='https://github.com/foo290/Agness-Bot/blob/master/AGNESS_BOT/settings.py'\u003esettings.py\u003c/a\u003e file in there which contains all the configurations that you need to customize the bot for your need.\n\n\u003cp id='Guild-settings'\u003e\n\u003ch2 align='center'\u003e\n    Guild Settings\n\u003c/h2\u003e\n\nThere are some configurations which are server dependent, in this section, those configs are explained ...\n\n#### 1. Roles :\n\nA dict defining aliases for the roles you may create and for the roles the bot will use for command checks are defined in \u003ca href='https://github.com/foo290/Agness-Bot/blob/a4066dd35ec1fbf6b018e32ebe3eadc7b5b86722/AGNESS_BOT/settings.py#L86'\u003eROLE_ALIASES\u003c/a\u003e in \u003ca href='https://github.com/foo290/Agness-Bot/blob/master/AGNESS_BOT/Settings.py'\u003esettings.py\u003c/a\u003e.\n\nYou have to give exact name of your roles for this to work.\n\n```\nROLE_ALIASES = {\n    'OWNER_ROLE': 'Owner',\n    'ADMIN_ROLE': 'Admin',\n    'STAFF_ROLE': 'Staff',\n    'DEFAULT_ROLE': 'Member',\n    'UNVERIFIED': 'Unverified',\n    ...\n}\n```\n\n\n* ```OWNER_ROLE :``` The name or the role for owner could be diffrent for diffrent servers, so for commands which are ```Owner``` Specific uses this role.\n* ```DEFAULT_ROLE :``` The default role for user, like normal role which has minimal access to the commands.\n* ```MUTED :``` This role has no access to read or send the message and assigned to users if they are being muted by the bot for a specific interval of time.\n* ```UNVERIFIED :``` If the Joinig verification is enabled, this role is assigned to users when they first join the server and this role has very limited access to the server for example: unverified users can only see welcome and Rules channel. If the joining verification is not enabled, members will be assigned default role.\n\n\n\u003c/p\u003e\n\u003cp id='settings'\u003e\n\n\u003ch2 align='center'\u003e\n  \u003ca href='https://github.com/foo290/Agness-Bot/blob/master/AGNESS_BOT/Settings.py'\u003e\n    settings.py ⚙\n  \u003c/a\u003e\n\u003c/h2\u003e\n\n\u003cp id='addingcogs'\u003e\n\u003ch3\u003e Adding Cogs :\u003c/h3\u003e\n\nAdd **name** of your cog / extension files \u003ca href='https://github.com/foo290/Agness-Bot/blob/c76a765e5a0fe22aa46d17db56313c1cdf741816/AGNESS_BOT/settings.py#L36'\u003ehere...\u003c/a\u003e\n\n```\nCOGS = [\n    'admin_cmds',\n    'dm_cmds',\n    'members_cmds',\n    ...\n   ]\n```\n\u003c/p\u003e\n\n### COGS directory path :\n\nThe dir path which contains COGS for loading. This is defined according to need of this project in \u003ca href='https://github.com/foo290/Agness-Bot/blob/a4066dd35ec1fbf6b018e32ebe3eadc7b5b86722/AGNESS_BOT/settings.py#L26'\u003eCOGS_DIR\u003c/a\u003e variable. **This is advised not to change untill you know what you dealing with.**\n\n```\nCOGS_DIR = 'AGNESS_BOT.bot.cogs.'  # This is the directory that contains all the cogs\n```\n\n### Owner's Configs :\nThis is a dict containing names as key and their id as vaules..\n\n```\nOWNER_IDS = {\n    'Nitin': your-id-here: int,\n    ...\n}\n```\n\n### Bot Configs :\nThe bot is operated based on the preferances defined in \u003ca href='https://github.com/foo290/Agness-Bot/blob/a4066dd35ec1fbf6b018e32ebe3eadc7b5b86722/AGNESS_BOT/settings.py#L47'\u003eBOT_CONFIGS\u003c/a\u003e dict in settings.py which is explained below...\n\n```\nBOT_CONFIGS = {\n    'BOT_NAME': \"Agness\",\n    'COMMAND_PREFIX': \".\",\n    'BOT_TOKEN': os.environ.get('AGNESS_BOT_TOKEN'),\n    'OWNER_IDS': list(OWNER_IDS.values()),\n    'COGS_DIR': COGS_DIR,\n    'COGS': COGS,\n    'ACTIVITY_TYPE': act.watching,\n    'ACTIVITY_NAME': 'the world collapse!',\n    'SHOW_TYPING': False,\n    'TYPING_INTERVAL': 0.5\n}\n```\n\n* ```BOT_NAME``` : The name of bot which will be used in some embeds.\n* ```BOT_TOKEN``` : This is obvious, define an environment variable ```AGNESS_BOT_TOKEN``` in your system for containing your bot's token.\n* ```COMMAND_PREFIX``` : The command prefix for your bot's commands.\n* ```OWNER_IDS``` : This will be automatically filled by ```OWNER_IDS```\n* ```COGS_DIR``` : **Do not change this until you have reason**\n* ```COGS``` : This will be automatically filled by ```COGS```\n* ```SHOW_TYPING``` : This shows the bot's typing status. If set to ```True```, Bot will be shown as ```typing...``` before sending the message.\n* ```TYPING_INTERVAL``` : The time for which the status ```typing...``` is shown.\n\n### Guild's Config :\n\nGlobal guild configs in \u003ca href='https://github.com/foo290/Agness-Bot/blob/a4066dd35ec1fbf6b018e32ebe3eadc7b5b86722/AGNESS_BOT/settings.py#L60'\u003eGUILDS_CONFIG\u003c/a\u003e\n\n```\nGUILDS_CONFIG = {\n    'FIRST_REDIRECT_CHANNEL': 773203865151602729,  # Welcome / Rules Channel!\n    'RULES_CHANNEL': None,\n    'GOODBYE_CHANNEL': None,\n\n    'MEMBER_JOIN_SELF_VERIFICATION': True,\n\n    'INVITE_LINK_TTL': 86400,\n    'INVITE_LINK_MAX_USES': 50,\n}\n```\n\n* ```FIRST_REDIRECT_CHANNEL``` : This is the first channel your user will be redirected when user clicks on invite link. This could be the id of dedicated welcome channel or rules channel.\n* ```RULES_CHANNEL``` : The id of Rules channel.\n* ```GOODBYE_CHANNEL``` : If set, a goodbye message will be sent to this channel on member kick/leave.\n* ```INVITE_LINK_TTL``` : The time for which invite link generated by invite command will be valid. default set to 24 hours, set None for never expiire.\n* ```INVITE_LINK_MAX_USES``` : Big name but pretty self explanatory...\n\n### Functionalities handled :\n\nIf you have more than one bot in your server and other bot is managing these functionalities then set these to ```False``` in \u003ca href='https://github.com/foo290/Agness-Bot/blob/a4066dd35ec1fbf6b018e32ebe3eadc7b5b86722/AGNESS_BOT/settings.py#L72'\u003eFUNCTIONALITIES\u003c/a\u003e\n\n```\nFUNCTIONALITIES = {\n    'MANAGE_NEW_JOINING': True,\n    'MANAGE_MEMBER_LEFT': True,\n    'SEND_DM_ON_JOIN': True\n}\n```\n\n* ```MANAGE_NEW_JOINING``` : if set True, Handles the role assigning on joining, member verification, role assignment. \n* ```MANAGE_MEMBER_LEFT``` : if set True, Handles sending msg in goodbye channel.\n* ```SEND_DM_ON_JOIN``` : If set True, will send an instructed dm to joined user guiding how to use and gain access to server is verification is enabled.\n\n\u003c/p\u003e\n\n\u003cp id='commands'\u003e\n\n\u003ch2 align='center'\u003eCommands 🛡\u003c/h2\u003e\n\nThe bot is equiped with a number of commands from saying simple \"hi\" msg to searching on google and many more for memes and fun...\n\nEvery command is filtered by the roles you have, type **help** and it will show all the commands avalable for your specific role with their aliases and how to use them.\n\n\u003c/p\u003e\n\n\u003cp id='cogs'\u003e\n\n\u003ch2 align='center'\u003eLoading Cogs 📍\u003c/h2\u003e\n\nAll the cog files are loaded at the boot time of bot, if there is a defective file or system failed to load the cog file for some reason, it will be shown as red error in the logs in console. \n\nTo know how to add your cog files, see \u003ca href=\"#addingcogs\"\u003eAdding your cog files\u003c/a\u003e\n\n\u003c/p\u003e\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo290%2Fagness-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoo290%2Fagness-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoo290%2Fagness-bot/lists"}