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
Владислав
Discord Bot for server hosts, devs, and admins. Analyzes timings reports & uploads text files to hastebin. Developed by https://birdflop.com.

"Botflop" Click here to invite Botflop to your server. Current abilities Analyze timings reports Paste a timings report to review an in-depth descript

Purpur 76 Dec 31, 2022
This is a python bot that automatically logs in, clicks the new button, and sends heroes to work in the bombcrypto game

This is a python bot that automatically logs in, clicks the new button, and sends heroes to work in the bombcrypto game. It is fully open source and free.

856 Jan 04, 2023
Discord Voice Channel Automatic Online

Discord-Selfbot-voice Features: Discord Voice Channel Automatic Online FAQ Q: How can I obtain my token? A: 1. How to obtain your token in android 2.

Pranav Ajay 3 Oct 31, 2022
A python script that can send notifications to your phone via SMS text

Discord SMS Notification A python script that help you send text message to your phone one of your desire discord channel have a new message. The proj

2 Apr 25, 2022
Python lib to control HottoH based stove devices

Project desciption This library can be used to discuss with HootoH based stove devices Actually tested and validated with a CMG Drum stove. To use thi

3 May 16, 2022
Github Workflows üzerinde Çalışan A101 Aktüel Telegam Bot

A101AktuelRobot Github Workflows üzerinde Çalışan A101 Aktüel Telegam Bot @A101AktuelRobot 💸 Bağış Yap ☕️ Kahve Ismarla 🌐 Telif Hakkı ve Lisans Copy

Ömer Faruk Sancak 10 Nov 02, 2022
Date Time Userbot With Python

DATE_TIME_USERBOT An Telegram Bot By @Pythone_3 Config Vars API_ID : Telegram API_ID, get it from my.telegram.org/apps API_HASH : Telegram API_ID, get

Sinzz-sinan-m 2 Oct 20, 2021
A Discord bot that automatically saves SHSH blobs for all of your iOS devices.

AutoTSS AutoTSS is a Discord bot that automatically saves SHSH blobs for all of your iOS devices. Want a CLI automatic blob saver? Check out AutoTSS-c

adam 79 Dec 13, 2022
PokemonGo-Bot - The Pokemon Go Bot, baking with community.

PokemonGo-Bot PokemonGo-Bot is a project created by the PokemonGoF team. Since no public API available for now, a patch to use HASH-Server was applied

3.8k Jan 08, 2023
Python Client Library to interface with the Phoenix Realtime Server

supabase-realtime-client Python Client Library to interface with the Phoenix Realtime Server This is a fork of the supabase community realtime client

Anand 2 May 24, 2022
Drop-in Replacement of pychallonge

pychal Pychal is a drop-in replacement of pychallonge with some extra features and support for new Python versions. Pychal provides python bindings fo

ZED 29 Nov 28, 2022
This program is an automated trading bot that uses TDAmeritrades Thinkorswim trading platform's scanners and alerts system.

Python Trading Bot w/ Thinkorswim Description This program is an automated trading bot that uses TDAmeritrades Thinkorswim trading platform's scanners

Trey Thomas 201 Jan 03, 2023
🕵️‍♂️ Investigate Google Accounts with emails.

Description GHunt is an OSINT tool to extract information from any Google Account using an email. It can currently extract: Owner's name Last time the

mxrch 13.1k Jan 01, 2023
Coin-based opinion monitoring system

介绍 本仓库提供了基于币安 (Binance) 的二级市场舆情系统,可以根据自己的需求修改代码,设定各类告警提示 代码结构 binance.py - 与币安API交互 data_loader.py - 数据相关的读写 monitor.py - 监控的核心方法实现 analyze.py - 基于历史数

luv_dusk 6 Jun 08, 2022
Instrument asyncio Python for distributed tracing with AWS X-Ray.

xraysink (aka xray-asyncio) Extra AWS X-Ray instrumentation to use distributed tracing with asyncio Python libraries that are not (yet) supported by t

Gary Donovan 12 Nov 10, 2022
fhempy is a FHEM binding to write modules in Python language

fhempy (BETA) fhempy allows the usage of Python 3 (NOT 2!) language to write FHEM modules. Python 3.7 or higher is required, therefore I recommend usi

Dominik 27 Dec 14, 2022
Scrape Twitter for Tweets

Backers Thank you to all our backers! 🙏 [Become a backer] Sponsors Support this project by becoming a sponsor. Your logo will show up here with a lin

Ahmet Taspinar 2.2k Jan 02, 2023
Discord-Lite - A light weight discord client written in Python, for developers, by developers.

Discord-Lite - A light weight discord client written in Python, for developers, by developers.

Sachit 142 Jan 07, 2023
Binance Futures Client

Binance Futures Client

4 Aug 02, 2022
Simple tool to gather domains from crt.sh using the organization name

Domain Collector: _ _ ___ _ _ _ __| | ___ _ __ ___ __ _(_)_ __ / __\___ | |

Cyber Guy 63 Dec 24, 2022