Some random bot for Discord which was created just for fun (Made with Discord.py library)

Overview

Ghosty

Previously known as 'secondthunder-py-bot'

CodeFactor DeepSource

This is repository of some random bot for Discord which was created just for fun and for some educational purposes (Made with Discord.py library)

How to use this bot

  1. Install Python (3.8 or higher) and/or Git
  2. Create a Discord Bot on Discord Developers page
  3. Go to Bot section to grab a token of your bot and enable all Privileged Gateway Intents
  4. Clone this repository (git clone https://github.com/SecondThundeR/ghosty.git)
  5. Run python bot_panel.py in a main directory and set up your bot
  6. Run python main.py to run bot
  7. After getting a log that bot was logged in, you are good to go

If you didn't install the missing dependencies when configuring the bot, run pip install -r requirements.txt in main directory

(If you are experiencing installation problems, and your pip isn't updated to the latest version, use --use-feature=2020-resolver flag)

Discussions

This project has a GitHub Discussions turned on. Feel free to ask about this project or give new ideas etc.

Changelog

This project has a changelog, which you can find here

Since 2.1.1 release, all releases will include changelogs in it, so dedicated Changelog.md is no longer needed.

Note: All previous releases now have their own changelog

Also, you can track changes of new versions here

License

This project is licensed under MIT License.

For the complete licensing terms, please read LICENSE file

Credits

Ghost icon provided by VKUI. Licensed with MIT License

discord.py provided by Rapptz. Licensed with MIT License

requests provided by psf. Licensed with Apache License 2.0

emoji provided by carpedm20. Licensed with BSD License

aiocron provided by gawel. Licensed with MIT License

Comments
  • Try to rethink SQL queries for Russian Roulette tables

    Try to rethink SQL queries for Russian Roulette tables

    Commit https://github.com/SecondThundeR/ghosty/commit/2cb375d1c4a74688016bd6e72d98bd3be417dd9e has a description of the current situation.

    The solution to this problem is postponed until later.

    bug fixed 
    opened by SecondThundeR 4
  • Provide full documentation for new parts of code

    Provide full documentation for new parts of code

    It is necessary to fully document the parts of the code where the documentation is not yet fully implemented (Updated cogs and parts for Markov chains)

    opened by SecondThundeR 1
  • Sync experimental changes from closed sources to dev branch

    Sync experimental changes from closed sources to dev branch

    Currently sources for Google Cloud has changes related to avatar updating on startup. This changes needs to be synced with public version. ETA ~2-4 hours

    opened by SecondThundeR 1
  • Current list of issues of 2.0.1 / Текущий лист проблем в версии 2.0.1

    Current list of issues of 2.0.1 / Текущий лист проблем в версии 2.0.1

    EN:

    • Words that were added to the database while the bot was running weren't updated in the word array (Fix: https://github.com/SecondThundeR/secondthunder-py-bot/commit/3a83887228c2aa73673d0710993ed6f8f3408e62)
    • New words won't be updated until version 2.1.0 is released (Fix: https://github.com/SecondThundeR/secondthunder-py-bot/commit/17012d7b75c8692ea7602fd9b970f625010f48a7)
    • More issues will be added later

    RU:

    • Слова, которые были добавлены в базу данных во время работы бота, не обновлялись в массиве слов (Фикс: https://github.com/SecondThundeR/secondthunder-py-bot/commit/3a83887228c2aa73673d0710993ed6f8f3408e62)
    • Новые слова не будут обновлены, пока не будет выпущена версия 2.1.0 (Фикс: https://github.com/SecondThundeR/secondthunder-py-bot/commit/17012d7b75c8692ea7602fd9b970f625010f48a7)
    • Другие ошибки будут добавлены позже

    Note: All of these issues have been or will be fixed in version 2.1.0. If you want to use current dev-2.1.0 branch, be aware of the broken features or even the whole bot.

    Замечание: Все эти ошибки были исправлены или будут исправлены в версии 2.1.0. Если вы хотите использовать текущую dev-2.1.0 ветку, будьте готовы к нерабочим функциям или нерабочему боту

    bug misc 
    opened by SecondThundeR 1
  • Merge `digital-economy` branch

    Merge `digital-economy` branch

    This branch introduces new system for making accounts with points (For now, only transferring and playing with bets in Russian Roulette were implemented as part of interaction and use of points in practice)

    This is just the beginning...

    opened by SecondThundeR 0
Releases(v2.2.0)
  • v2.2.0(Aug 28, 2021)

    Note: This is final release on Python due to changes in discord.py library, mentioned here. To prevent bot from working after April 2022, bot will be rewritten to JavaScript (again) to use new Slash Commands feature

    New changes since 2.1.2 release:

    Added

    • help: Added ability to get info about certain command
    • russian_roulette: New features:
      • Added game with points (Now users with active points account can bet points and win/lose them)
      • Added dict with points multipliers
      • Added backup word for win/lose/zero conditions if there are no words in DB for them
      • Added new functions: __parse_args to parse arguments and return dictionary; __change_game_status to handle changing active_variable value
    • rsp:
      • Added ability to bet points (Multiplayer + Bot modes)
      • Added new function to change RSP state
    • user_points: Initial addition - Description
    • pointsDB: Initial addition - Description
    • economy_utils: Initial addition - Description

    Changed

    • bot_panel: Switched from timers to empty inputs to read text properly and continue after certain time
    • cogs:
      • Switched some methods from public to private ones
      • Switched methods calls from class.method_name to self.method_name
    • help:
      • Changed bloated string to dictionary
      • Changed arguments of send_help_message
      • Added function to handle "compiling" full message for certain moments (Full list of commands / Single command)
      • Updated help_dict (Added new command - очки)
      • Slightly changed and optimized
    • me: Reordered methods parse_me_args and send_me_message
    • random_word: Updated manage_words_table to use new delete_mode argument
    • russian_roulette:
      • Changed random occurrences to SystemRandom class
      • Moved out bullet_list and bullet_count from __init__
      • Changed system of parsing arguments
      • Moved all logic for adding/deleting words from DB to their own functions
      • Moved getting random word from DB to its own function
      • Changed loop of getting bullets for bullet_list
      • Changed and updated some errors handling systems`
    • rsp:
      • Changed fail_delay (4 -> 3 seconds)
      • Slightly changed rsp_mode function to handle new arguments
      • Changed check for keyword for second player join
      • Converted all (except rsp_mode) methods to private
      • Update docstrings
      • Changed way of getting first and second users member object to mention them
      • Moved join and choice check to bottom
    • database: Updated clearing databases (Removed DELETE FROM roulette_minus_words)
    • words_base: Update code logic:
      • Added delete_mode argument for manage_words_table and manage_r_words_tables (Replaced string mode argument)
      • Reverted clumsy SQL query generation system (All affected code parts were updated and fixed)

    Removed

    • python-linter-workflow.yml: A duplicate of the DeepSource functionality was not needed
    • random_word: Removed 'who' alias because it is no longer relevant
    • russian_roulette: Removed minus condition, as isnumeric() denies negative numbers
    • wordsDB: Removed roulette_minus_words table
    • words_base: Removed return_query_result, WARNING_MESSAGES and all mentions of roulette_minus.txt and roulette_minus_words
    • panel_scripts: Removed call for clear_words_table in change_setup_status
    • words_base (txt): Removedroulette_minus.txt`

    Fixed

    • main: Fixed old typo in on_command_error
    • cogs: Fixed missing/incorrect docstrings
    • random_ship: Fixed incorrect behavior of fast shipping in certain scenarios
    • russian_roulette: Fixed argument parsing when incorrect data was provided
    • rsp: Fixed wrong call for database in __manage_rsp_state and some other bugs and issues
    Source code(tar.gz)
    Source code(zip)
    ghosty-release-2.2.0.zip(327.10 KB)
  • v2.2.0-beta.5(Aug 27, 2021)

    New changes since 2.2.0-beta.4.1 release:

    Added

    • rsp:
      • Added ability to bet points (Multiplayer + Bot modes)
      • Added new function to change RSP state

    Changed

    • user_points: Slightly changed statement for create_status in __create_account
    • rsp:
      • Changed fail_delay (4 -> 3 seconds)
      • Slightly changed rsp_mode function to handle new arguments
      • Changed check for keyword for second player join
      • Converted all (except rsp_mode) methods to private
      • Update docstrings
      • Changed way of getting first and second users member object to mention them
      • Moved join and choice check to bottom

    Removed

    • python-linter-workflow.yml: A duplicate of the DeepSource functionality was not needed

    Fixed

    • rsp: Fixed wrong call for database in __manage_rsp_state and some other bugs and issues
    Source code(tar.gz)
    Source code(zip)
    ghosty-beta5-2.2.0.zip(327.10 KB)
  • v2.2.0-beta.4.1(Aug 22, 2021)

  • v2.2.0-beta.4(Aug 22, 2021)

    New changes since 2.2.0-beta.3 release:

    Added

    • russian_roulette: Added new functions: __parse_args to parse arguments and return dictionary; __change_game_status to handle changing active_variable value
    • pointsDB: Added new variable - active_roulette

    This variable is necessary to limit simultaneous games with bets (Sometimes the results of randomness in spam teams could give the same value several times)

    Changed

    • russian_roulette: Switched back to random instead of SystemRandom

    Fixed

    • russian_roulette: Fixed argument parsing when incorrect data was provided
    • economy_utils: Fixed creation of points account (Updating the creation with a new variable)
    Source code(tar.gz)
    Source code(zip)
    ghosty-beta4-2.2.0.zip(326.38 KB)
  • v2.2.0-beta.3(Aug 17, 2021)

    New changes since 2.2.0-beta.2 release:

    Added

    • russian_roulette: New features:
      • Added game with points (Now users with active points account can bet points and win/lose them)
      • Added dict with points multipliers
      • Added backup word for win/lose/zero conditions if there are no words in DB for them
    • user_points: Initial addition - Description
    • pointsDB: Initial addition - Description
    • economy_utils: Initial addition - Description

    Changed

    • help: Updated help_dict (Added new command - очки)
    • random_word: Updated manage_words_table to use new delete_mode argument
    • russian_roulette:
      • Changed random occurrences to SystemRandom class
      • Moved out bullet_list and bullet_count from __init__
      • Changed system of parsing arguments
      • Moved all logic for adding/deleting words from DB to their own functions
      • Moved getting random word from DB to its own function
      • Changed loop of getting bullets for bullet_list
      • Changed and updated some errors handling systems`
    • database: Updated clearing databases (Removed DELETE FROM roulette_minus_words)
    • words_base: Update code logic:
      • Added delete_mode argument for manage_words_table and manage_r_words_tables (Replaced string mode argument)
      • Reverted clumsy SQL query generation system (All affected code parts were updated and fixed)

    Removed

    • russian_roulette: Removed minus condition, as isnumeric() denies negative numbers
    • wordsDB: Removed roulette_minus_words table
    • words_base: Removed return_query_result, WARNING_MESSAGES and all mentions of roulette_minus.txt and roulette_minus_words
    • panel_scripts: Removed call for clear_words_table in change_setup_status
    • words_base (txt): Removedroulette_minus.txt`
    Source code(tar.gz)
    Source code(zip)
    ghosty-beta3-2.2.0.zip(325.96 KB)
  • v2.2.0-beta.2(Aug 13, 2021)

    New changes since 2.2.0-beta.1 release:

    Changed

    • cogs:
      • Switched some methods from public to private ones
      • Switched methods calls from class.method_name to self.method_name
    • me: Reordered methods parse_me_args and send_me_message

    Fixed

    • cogs: Fixed missing/incorrect docstrings
    • random_ship: Fixed incorrect behavior of fast shipping in certain scenarios
    Source code(tar.gz)
    Source code(zip)
    ghosty-beta2-2.2.0.zip(320.45 KB)
  • v2.2.0-beta.1(Aug 9, 2021)

    New changes since 2.1.2 release:

    Added

    • help: Added ability to get info about certain command

    Changed

    • bot_panel: Switched from timers to empty inputs to read text properly and continue after certain time
    • help:
      • Changed bloated string to dictionary
      • Changed arguments of send_help_message
      • Added function to handle "compiling" full message for certain moments (Full list of commands / Single command)
      • Slightly changed and optimized

    Removed

    • random_word: Removed 'who' alias because it is no longer relevant

    Fixed

    • main: Fixed old typo in on_command_error
    Source code(tar.gz)
    Source code(zip)
    ghosty-beta-2.2.0.zip(320.36 KB)
  • v2.1.2(Aug 8, 2021)

    New changes since 2.1.1 release:

    Changed

    • README.md: Changed info about changelogs
    • random_ship: Changed word 'выход' to 'выйти' (Handles deleting user from shipping)
    • database: Slightly changed reset_bot_tables (Now resetting words database)

    Removed

    • Changelog.md: Removed and older changelogs moved to Release section

    Fixed

    • random_ship: Fixed incorrect processing of deleting/adding to shipping
    • users: Fixed statement, where shipping could fail even if there are two users in server
    • general_scripts: Fixed checking for ignored user, when database lib returns None

    P.S. This release closes some broken things that were left in version 2.1.1. Work on code optimization will be released in the next version

    Source code(tar.gz)
    Source code(zip)
    ghosty-release-2.1.2.zip(319.92 KB)
  • v2.1.1(Aug 6, 2021)

    New changes since 2.1.0 release:

    Added

    • general: Added workflow files for litners (Not included in final zip)
    • main: Added check for ignored users on initial bot startup and member join/leave
    • random_ship:
      • Added реролл command (Reset + Ship)
      • Added notification argument for reset (To hide reset message)
      • Added check for UsersNotFound in random_ship
      • Added removal from list shipping users (or addition)
    • user_checker: Added function to parse test data (From list to dict)
    • user_finder: Added proper text capitalization
    • users:
      • Added check for raising custom exceptions
      • Added some private functions for simplifying main functions
      • Added return of multiple names in get_members_name
      • Removed unnecessary while loop for get_shipping_users
    • exceptions: Added main docstring for file
    • markov_utils:
      • Added proper word check
      • Added default value for return_checked_sentence argument
    • shipping_utils: Initial addition

    Changed

    • requirements: Renamed discord.py to discord
    • main: Update execution order and code for new get_avatar_bytes changes
    • bot_panel: Added if __name__ declaration
    • help: Moved help message to __init__ declaration
    • manage_admins: Replaced if/else with if/return in add_admin
    • markov_chains: Changed check for number argument
    • me:
      • Added author name parsing for TTS mode (To prevent TTS from reading author mention)
      • Moved arguments parsing to its own function
    • random_ship:
      • Changed way to check for active/in progress ship
      • Changed pre-result messages delay from 2 to 1 second
      • Moved some functions to shipping_utils (And slightly revamp them)
    • rsp: Moved WIN_VARIANTS outside of class to use static methods decoration
    • switch_avatar: Changed code to prevent multiple calls to DB (To get current avatar cooldown)
    • system: Moved formatting logic to its own function
    • uptime: Changed code to prevent multiple calls to DB (To get bot start time)
    • user_checker: Changed while to for loop in get_test_percent
    • database: Added implementation of executescript and update all related code in other places
    • words_base: Changed check for downloading words base status
    • avatar_changer:
      • Changed code to prevent multiple calls to DB (To get current avatar cooldown)
      • Changed way to return data (Now returning dictionary)
    • panel_scripts:
      • Moved getting current setup status to its own function
      • Changed way of checking missing modules

    Fixed

    • readme: Fixed some typos (Not included in final zip)
    • random_ship: Fixed docstring in random_ship function
    • rsp: Fix ctx implementation bugs which prevented from messages deletion or editing
    • system: Return missing delete_after and fixed text for regular message mode
    • markov_utils: Fix adding None to args as a number

    P.S. There is a chance of releasing 2.1.2 because of some places where optimization is needed before moving to 2.2 release

    Source code(tar.gz)
    Source code(zip)
    ghosty-release-2.1.1.zip(324.06 KB)
  • v2.1.1-alpha(Jul 11, 2021)

    New changes since 2.1.0 release:

    Added

    • general: Added workflow files for litners (Not included in final zip)
    • random_ship: Added реролл command (Reset + Ship) / Added notification argument for reset (To hide reset message) / Added check for UsersNotFound in random_ship
    • user_checker: Added function to parse test data (From list to dict)
    • user_finder: Added proper text capitalization
    • users: Added check for raising custom exceptions
    • markov_utils: Added proper word check / Added default value for return_checked_sentence argument

    Changed

    • requirements: Renamed discord.py to discord
    • main: Update execution order and code for new get_avatar_bytes changes
    • bot_panel: Added if __name__ declaration
    • help: Moved help message to __init__ declaration
    • manage_admins: Replaced if/else with if/return in add_admin
    • markov_chains: Changed check for number argument
    • me: Added author name parsing for TTS mode (To prevent TTS from reading author mention)
    • random_ship: Changed way to check for active/in progress ship
    • switch_avatar: Changed code to prevent multiple calls to DB (To get current avatar cooldown)
    • system: Moved formatting logic to its own function
    • uptime: Changed code to prevent multiple calls to DB (To get bot start time)
    • user_checker: Changed while to for loop in get_test_percent
    • avatar_changer: Changed code to prevent multiple calls to DB (To get current avatar cooldown) / Changed way to return data (Now returning dictionary)
    • panel_scripts: Moved getting current setup status to its own function

    Fixed

    • readme: Fixed some typos (Not included in final zip)
    • random_ship: Fixed docstring in random_ship function
    Source code(tar.gz)
    Source code(zip)
    ghosty_alpha_release.zip(340.38 KB)
  • v2.1.0(May 22, 2021)

    New changes from beta version of dev-2.1.0: (Noteworthy: From now on, all new changes (even possible broken ones) will be committed to the main branch)

    Added

    • general:
      • Implemented checks for custom exceptions
      • Implemented discord.ext.commands
      • added more docstrings
      • Changed imports style
      • Switched from ctx.send to ctx.reply (In some moments)
      • Maybe something else where I didn't follow the changelogs...
    • release: Added .zip with cleaned up sources, which are only needed to run the bot
    • avatars: Added initial 16 avatars for changing them "on the fly"
    • requirements: Added new requirement - aiocron
    • exceptions: Added initial custom exceptions
    • main:
      • Checks for cogs specific errors
      • Removal of users from database, if they leave from server
      • Listener for non-commands messages (Used for Markov chains)
    • magic_ball: Initial addition
    • me: Added tts mode for regular, non-anon, mode
    • russian_roulette: Added certain variable for message deletion delay
    • markov_chains: Initial addition (Beta)
    • switch_avatars: Initial addition
    • system: Added filter for getting full system info (By default returns reduced info)
    • uptime: Added import of timedelta_formatter util
    • database: Added main database class, Added printing error details on database fail
    • files: Added shutil for full folder removal, Added function for checking folder status (is empty or not), Added display of an error when switching to an exception
    • users: Added addition/removal of member to/from database, added new function for shipping, Added check for admin/block status of user
    • words_base:
      • Added missing file closing after writing data
      • Add new warning message for word duplicate, when adding one
    • utils: Initial addition of file utils:
      • avatar_changer
      • general_scripts
      • markov_utils (Beta)
      • panel_scripts
      • timedelta_formatter

    Changed

    • project: New logo and new name! This project is now called Ghosty
    • general: Changed names of folders and commands files (For the transition to discord.ext.commands)
    • main:
      • Changed imports, docstrings
      • Refactored code
      • Added new commands
      • Limited some functions only for DM
      • Removed Playing in... activity
      • Added cron job to change avatar
    • setup: Renamed to bot_setup
    • bot_panel: Main revamp
      • Move all internal logic to it's own utils
      • Refactored code, updated modules to check
      • Rephrased tip at the end
      • Removed some legacy code for the old database library
    • help: Updated help message and slightly updated docstrings
    • manage_ignored: Renamed to manage_ignore_list
    • random_ship:
      • Now returning ship_text_short in fast mode
      • Arguments checking was slightly improved
      • Moved data extraction from DB to variables (Also changed checks with them)
    • uptime: Changed alias name of command
    • user_checker: Switched from some crap in main to nice dynamic testing in cog (Now supports more options!)
    • DB's: Updated some tables (For new commands and features)
    • database:
      • Changed way of interacting with databases with simple query commands, instead of weird parameters
      • Switched from "dynamic" queries to raw ones
      • Switched from database numbers to database names, when executing command
    • files:
      • Slightly updated code
      • Changed some checks with returning value of bool(), simplified functions names
    • users: Slightly updated code and fixed docstrings
    • words_base:
      • Simplified functions names
      • Words synced with last changes
      • Added more functions and constants (Moved from bot_panel.py)
    • avatar_changer: Slightly updated code
    • panel_scripts: Moved check for elements in bot's DB to own function

    Removed

    • general: Removed 'Beta' from some docstings
    • .gitmodules: Removed Webhook-Notifier submodule
    • main: Removed update_member_list() (Moved to main_scripts)
    • manage_ignored and manage_admins: Removed local check for DM
    • random_word: Removed spam check and modify_data import
    • rsp: Removed debug message for purge function
    • uptime: Removed local _format_timedelta function
    • database: Removed outdated columns to clear, removed unnecessary functions

    Fixed

    • general: Fixed many things, reported by DeepSource and CodeFactor
    • Changelog: Fix old link for repository
    • README: Fixed needed info for bot working and fixed fourth item in How to use this bot (Also fix old link for repo)
    • LICENSE: fix year
    • random_ship:
      • Fixed slicing part of the second username and ship reset
      • Fixed a bug where ship results could not be reset on the next day
    • random_word: Fixed words updating on database update and function typo
    • russian_roulette: Fixed wrong function name
    • database:
      • Fixed checks for data tuple and code for modify_data part
      • Fixed wrong table to clear on load
      • Fixed problems with getting single data or multiple from database
      • Fixed (temporary) issue of DeepSource - BAN-B608
    • users: Fixed crash on getting random user from database
    Source code(tar.gz)
    Source code(zip)
    ghosty-release-2.1.0.zip(325.50 KB)
  • v2.1.0-beta(May 22, 2021)

    This is second Pre-release tag of dev-2.1.0 branch (Merged with cogs-logic-rework branch)

    Worth mentioning:

    • Current release introduces Markov's Chains (Beta) and general fixes of other functions.
    • Сurrent release is marked as Beta and considered semi-stable (It's currently in internal beta testing) and in preparation for being promoted to Release Candidate status.

    Added

    • general:
      • Implemented checks for custom exceptions
      • Implemented discord.ext.commands
      • Added more docstrings
      • Changed imports style
      • Switched from ctx.send to ctx.reply (In some moments)
      • Maybe something else where I didn't follow the changelogs...
    • main:
      • Checks for cogs specific errors
      • Removal of users from database, if they leave from server
      • Listener for non-commands messages (Used for Markov chains)
    • exceptions: Added initial custom exceptions
    • markov_chains: Initial addition (Beta)
    • general_scripts: Initial addition
    • markov_utils: Initial addition (Beta)
    • panel_scripts: Initial addition

    Changed

    • main: Changed imports, docstrings
    • setup: Renamed to bot_setup
    • bot_panel: Main revamp (Move all internal logic to it's own utils)
    • help: Updated help message and slightly updated docstrings
    • manage_ignored: Renamed to manage_ignore_list
    • random_ship:
      • Now returning ship_text_short in fast mode
      • Arguments checking was slightly improved
      • Moved data extraction from DB to variables (Also changed checks with them)
    • uptime: Changed alias name of command
    • user_checker: Switched from some crap in main to nice dynamic testing in cog (Now supports more options!)
    • DB's: Updated some tables (For new commands and features)
    • database: Switched from database numbers to database names, when executing command
    • files: Slightly updated code
    • users: Slightly updated code and fixed docstrings
    • words_base: Added more functions and constants (Moved from bot_panel.py)
    • avatar_changer: Slightly updated code

    Removed:

    • .gitmodules: Removed Webhook-Notifier submodule
    • main: Removed update_member_list() (Moved to main_scripts)
    • avatar_switcher: Remove Beta sign
    • database: Remove Beta sign

    Fixed

    • general: Fixed many things, reported by DeepSource and CodeFactor
    • Changelog: Fix old link for repository
    • README: Fixed needed info for bot working and fixed fourth item in How to use this bot (Also fix old link for repo)
    • random_ship: Fixed a bug where ship results could not be reset on the next day
    • russian_roulette: Fixed wrong function name
    • database: Fixed problems with getting single data or multiple from database

    You can also compare changes yourself: https://github.com/SecondThundeR/ghosty/compare/v2.1.0-alpha.1...v2.1.0-beta

    Source code(tar.gz)
    Source code(zip)
    ghosty-beta-release.zip(323.08 KB)
  • v2.1.0-alpha.1(Apr 27, 2021)

    This is first Pre-release tag of dev-2.1.0 branch that introduces these changes:

    Added

    • release: Added .zip with cleaned up sources, which are only needed to run the bot
    • requirements: Added new requirement - aiocron
    • avatars: Added initial 16 avatars for changing them "on the fly"
    • magic_ball: Initial addition
    • me: Added tts mode for regular, non-anon, mode
    • russian_roulette: Added certain variable for message deletion delay
    • switch_avatars: Initial addition
    • system: Added filter for getting full system info (By default returns reduced info)
    • uptime: Added import of timedelta_formatter util
    • database: Added main database class, Added printing error details on database fail
    • files: Added shutil for full folder removal, Added function for checking folder status (is empty or not), Added display of an error when switching to an exception
    • users: Added addition/removal of member to/from database, added new function for shipping, Added check for admin/block status of user
    • words_base: Added missing file closing after writing data
    • utils: Initial addition of two utils: avatar_changer and timedelta_formatter

    Changed

    • project: New logo and new name! This project is now called Ghosty
    • general: Changed names of folders and commands files (Preparing for the transition to discord.ext.commands)
    • setup: Refactored code, updated modules to check, rephrased tip at the end, and removed some legacy code for the old database library
    • main: Refactored code, added new commands, limited some functions only for DM, removed Playing in... activity, added cron job to change avatar
    • help: Updated help message
    • database: Changed way of interacting with databases with simple query commands, instead of weird parameters, switched from "dynamic" queries to raw ones
    • files: Changed some checks with returning value of bool(), simplified functions names
    • words_base: Simplified functions names, words synced with last changes

    Removed

    • general: Removed 'beta' from some docstings
    • manage_ignored and manage_admins: removed local check for DM
    • random_word: Removed spam check and modify_data import
    • rsp: Removed debug message for purge function
    • uptime: Removed local _format_timedelta function
    • database: Removed outdated columns to clear, removed unnecessary functions

    Fixed

    • LICENSE: fix year
    • random_ship: Fixed slicing part of the second username and ship reset
    • random_word: Fixed words updating on database update and function typo
    • database: Fixed checks for data tuple and code for modify_data part, fixed wrong table to clear on load
    • users: Fixed crash on getting random user from database

    You can also compare changes yourself: https://github.com/SecondThundeR/ghosty/compare/v2.0.1...v2.1.0-alpha.1

    Source code(tar.gz)
    Source code(zip)
    release-alpha-1.zip(311.14 KB)
  • v2.0.1(Feb 27, 2021)

    Added

    • Getting help from DM
    • Check for 404 status when getting words from link
    • Flag for requirements installing
    • Check for missing packages in setup.py
    • Reset of active ship status on bot startup
    • Ignore of IDEA folder (for future work with PyCharm and etc.)

    Changed

    • Check for DM moved to commands scripts
    • Enumerate loops replace with regular ones
    • Check for folders and files were merged
    • Small change of setup script internals
    • Help message text
    • Simplify makar text reversing
    • Poll's variables moved to dictionary

    Fixed

    • Wrong link for word base in setup
    • Error of loop with two arrays
    • Wrong bold formatting of word
    • Typos in README and Changelog files
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Feb 7, 2021)

    Added

    • Docstring for all scripts
    • SQL databases for long-term variables
    • Setup script for convenient and simple bot setup
    • Words were moved to separate .txt files (Used only for import)
    • Fetching of users and bot on startup
    • Fetching of newcomers and adding to database
    • Ignore for blocked users
    • Dynamic testing without predifined aliases
    • New commands система and поиск
    • Сommands for controlling admin and block lists directly from DM
    • Custom libraries for simplifying scripts workflow
    • Multiplayer for RSP game
    • Checks for regular emoji in messages for certain commands
    • Checks for unexpected situations

    Changed

    • Bot status from 'Online' to 'DND'
    • Unlock polls (You can now run an unlimited number of polls)
    • Addition/deletion of words now part of random_word.py and russian_roulette.py
    • Method of getting random words in russian_roulette.py by getting only needed list of words
    • All variables from variables.js were moved to SQL database
    • Help message is now sent to user's DM
    • Move getting string of date to random_ship.py
    • Method of getting outcome of RSP game by comparing with value from dictionary

    Removed

    • Heroku files (Due to unexpected work of bot here and filesystem reset)
    • Strings that were in a separate file variables.js
    • Custom libs on JS
    • JSON arrays
    • ESlint configuration file (Now code checked by DeepSource and Pylint)
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0-beta(Jan 7, 2021)

    Upstream latest JS source (No changelog available)

    You can compare changes yourself - https://github.com/SecondThundeR/ghosty/compare/a2ed7e0...b78f70

    Source code(tar.gz)
    Source code(zip)
  • v1.1.4(Dec 24, 2020)

    Added

    • Ability to pass someone's nickname with @... in хуископ command
    • Messages for some exceptions in mention parsing
    • Check for formatted word in array before sending

    Changed

    • Message formatting for custom horoscope

    Fixed

    • Now passing someone's nickname with @... in шип command returns normal name
    • Start of russian roulette when bullet number is NaN
    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(Dec 15, 2020)

    Added

    • дед command

    Changed

    • Message timeout for 'скип' command extended to 5 seconds
    • Message timeout for 'рандом' command extended to 15 seconds
    • Command selector has been moved to a separate function
    • Text of help command was updated and decoded from Base64
    • Text formatting for JSON array (Add bold and italic texts)
    • Changed emoji in shipping text

    Fixed

    • Wrong behavior of random number function (More resilient to many wrong argument combination)
    • Fixed no-unsafe-finally in wakeDyno.js
    • Skipping "intriguing" text until the result appears
    • Incorrect comments in variables.js
    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Dec 9, 2020)

  • v1.1.1(Dec 5, 2020)

    Added

    • анонттс flag for йа command

    Changed

    • Double escapes to single in poll message

    Removed

    • Comma in russian roulette answer

    Fixed

    • Checks for poll votes result
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Dec 4, 2020)

    Added

    • [Beta] Simple poll system (Can be called via полл command)
    • JSONHandlerLib import in main.js
    • влад command
    • анон flag for йа command

    Changed

    • All similar subfunctions were merged
    • Random delay time replaced to fixed and has been moved to an external variable
    • All text moved to shared variables for localization purposes
    • Some if/else statements were changed to switch statement
    • Multiple functions and variables names were refactored
    • More variables resets after triggering 'скип' flag
    • Global code refactor

    Removed

    • Async in russian roulette function

    Fixed

    • Wrong mention in russian roulette
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Nov 29, 2020)

  • v1.0.0(Nov 29, 2020)

    Added

    • Ignore of package-lock
    • Personal library to invoke necessary operations on JSON files
    • Blacklist section for further purposes

    Changed

    • Start following semantic versioning properly
    • Multiple functions and commands was merge into single main commands file
    • Timeout for some messages was reduced to 2 seconds
    • Timeout for help command was increased to 30 seconds
    • Delay time of some modules was increased
    • Some functions was renamed
    • Many conditions was simplified and refactored
    • Some descriptions of modules was rewritten
    • Variables for export have been structured and split into several sections
    • Uptime command now shows beautifully formatted time
    • Names of variables for 'шип' command was renamed
    • Text of help command was encoded in Base64
    • Most of the text was moved to export variables for easy editing and translation
    • Name, version and license was changed in package file

    Removed

    • Checks for user to ignore
    • Multiple commands and functions was deleted due to move to Heroku (Some of commands will present in additional branches)
    • Commented code was deleted from main branch
    Source code(tar.gz)
    Source code(zip)
  • v0.9.9(Nov 29, 2020)

Owner
Владислав
Tinkering with Python / Slightly lazy student
Владислав
Barbot is a discord bot made from discord.py and python, barbot is most to fun and roleplay for servers!

BarBot Main source of barbot Overview Barbot is a discord bot made from discord.py and python, barbot is most to fun and roleplay for servers! Links i

AlexyDaCoder 3 Nov 28, 2021
A simple Discord Bot created for basic functionality and fun chat commands for use in a private server.

LoveAndChaos-Bot v0.1.0 LoveAndChaos-Bot is a Discord Bot specifically designed for a private server; this bot is merely a test and a method to expose

Morgan Rose 1 Dec 12, 2021
An Open-Source Discord bot created to provide basic functionality which should be in every discord guild. We use this same bot with additional configurations for our guilds.

A Discord bot completely written to be taken from the source and built according to your own custom needs. This bot supports some core features and is

Tesseract Coding 14 Jan 11, 2022
A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py)

Articuno (discord-interactions) A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py) Get started If you wa

Blue 8 Dec 26, 2022
Discord Auto bumper made in python, just a simple auto bumper that I made.

Discord Auto bumper made in python, just a simple auto bumper that I made.

XPTGR 0 Dec 4, 2021
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
A fun hangman style game to guess random movie names with a short summary about the movie.

hang-movie-man Hangman but for movies ?? This is a fun hangman style game to guess random movie names from the local database and show some summary ab

Ankit Josh 10 Sep 7, 2022
A simple fun discord bot using discord.py that can post memes

A simple fun discord bot using discord.py * * Commands $commands - to see all commands $meme - for a random meme from the internet $cry - to make the

Dice Flip 2 Dec 20, 2021
❤️ Hi There Im EzilaX ❤️ A next gen powerful telegram group manager bot 😱 for manage your groups and have fun with other cool modules Made By Sadew Jayasekara 🔥

❤️ EzilaX v1 ❤️ Unmaintained. The new repo of @EzilaXBot is Public. (It is no longer based on this source code. The completely rewritten bot available

Sadew Jayasekara 18 Nov 24, 2021
Emo-Fun is a bot which emojifies the text you send it

About Emo-Fun is a bot which emojifies the text you send it. It is easier to understand by an example Input : Hey this is to show my working!! Output

Suvodeep Sinha 3 Sep 30, 2022
A Discord Server Cloner Which Can Clone Any Discord Server In Just Few Minutes

A Discord Server Cloner Which Can Clone Any Discord Server In Just Few Minutes.

samet 4 Jul 23, 2022
just a program i made cuz a friend got tokenlogged and spammed me with these scam/phishing links so i made a programm to spam these websides with fake logins

scam-webside-spammer just a program i made cuz a friend got tokenlogged and spammed me with these scam/phishing links so i made a programm to spam the

TerrificTable 3 Sep 23, 2022
A simple discord bot written in python which can surf subreddits, send a random meme, jokes and also weather of a given place

A simple Discord Bot A simple discord bot written in python which can surf subreddits, send a random meme, jokes and also weather of a given place. We

null 1 Jan 24, 2022
Pincer-bot-template - A template for a Discord bot created using the Pincer library

Pincer Discord Bot Template (Python) WARNING: Pincer is still in its alpha/plann

binds 2 Mar 17, 2022
Random-backlog-tweet - Pick a page from a sitemap at random and prep a tweet button for it

Random-backlog-tweet - Pick a page from a sitemap at random and prep a tweet button for it

Paul O'Leary McCann 0 Dec 1, 2022
🦈 Blahaj is a discord bot that shares random images of himself on discord.

?? Blahaj Bot Blahaj is a discord bot that shares random images of himself on discord. ⚙️ Developer's Guide To use the bot, follow along the steps Hea

Atul Anand 3 Oct 21, 2022
A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create custom messages by telling the bot with Commands.

A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create custom messages by telling the bot with Commands.

Aran 1 Oct 13, 2021
Discord bot for name verifying. Created for TinkerHubGCEK discord server. Tinky is now deployed in heroku

Custom Discord bot This custom discord-python bot assigns roles to members joined at discord server. It looks and compares a list before verifying the

Edwin Jose George 2 Dec 16, 2021
szrose is an all in one group management bot made for managing your group effectively with some advance security tools & Suit For All Your Needs ❤️

szrose is an all in one group management bot made for managing your group effectively with some advance security tools & Suit For All Your Needs ❤️

szsupunma 93 Jan 7, 2023