easterobot 1.5.1__tar.gz → 1.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. {easterobot-1.5.1 → easterobot-1.5.2}/PKG-INFO +23 -19
  2. {easterobot-1.5.1 → easterobot-1.5.2}/README.rst +22 -18
  3. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/game.py +10 -6
  4. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/games/skyjo.py +2 -2
  5. easterobot-1.5.2/easterobot/info.py +28 -0
  6. {easterobot-1.5.1 → easterobot-1.5.2}/pyproject.toml +1 -1
  7. {easterobot-1.5.1 → easterobot-1.5.2}/uv.lock +1 -1
  8. easterobot-1.5.1/easterobot/info.py +0 -18
  9. {easterobot-1.5.1 → easterobot-1.5.2}/.dockerignore +0 -0
  10. {easterobot-1.5.1 → easterobot-1.5.2}/.editorconfig +0 -0
  11. {easterobot-1.5.1 → easterobot-1.5.2}/.github/actions/setup-project/action.yml +0 -0
  12. {easterobot-1.5.1 → easterobot-1.5.2}/.github/workflows/docs.yml +0 -0
  13. {easterobot-1.5.1 → easterobot-1.5.2}/.github/workflows/lint.yml +0 -0
  14. {easterobot-1.5.1 → easterobot-1.5.2}/.github/workflows/publish.yml +0 -0
  15. {easterobot-1.5.1 → easterobot-1.5.2}/.github/workflows/tests.yml +0 -0
  16. {easterobot-1.5.1 → easterobot-1.5.2}/.gitignore +0 -0
  17. {easterobot-1.5.1 → easterobot-1.5.2}/.pre-commit-config.yaml +0 -0
  18. {easterobot-1.5.1 → easterobot-1.5.2}/.vscode/extensions.json +0 -0
  19. {easterobot-1.5.1 → easterobot-1.5.2}/.vscode/ltex.dictionary.en-US.txt +0 -0
  20. {easterobot-1.5.1 → easterobot-1.5.2}/.vscode/ltex.hiddenFalsePositives.en-US.txt +0 -0
  21. {easterobot-1.5.1 → easterobot-1.5.2}/.vscode/settings.json +0 -0
  22. {easterobot-1.5.1 → easterobot-1.5.2}/Dockerfile +0 -0
  23. {easterobot-1.5.1 → easterobot-1.5.2}/LICENSE +0 -0
  24. {easterobot-1.5.1 → easterobot-1.5.2}/conftest.py +0 -0
  25. {easterobot-1.5.1 → easterobot-1.5.2}/docker-compose.yml +0 -0
  26. {easterobot-1.5.1 → easterobot-1.5.2}/docs/conf.py +0 -0
  27. {easterobot-1.5.1 → easterobot-1.5.2}/docs/index.rst +0 -0
  28. {easterobot-1.5.1 → easterobot-1.5.2}/docs/references.rst +0 -0
  29. {easterobot-1.5.1 → easterobot-1.5.2}/docs/resources/favicon.png +0 -0
  30. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/__init__.py +0 -0
  31. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/__main__.py +0 -0
  32. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/alembic/env.py +0 -0
  33. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/alembic/script.py.mako +0 -0
  34. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/alembic/versions/2f0d4305e320_init_database.py +0 -0
  35. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/alembic/versions/940c3b9c702d_add_lock_on_eggs.py +0 -0
  36. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/bot.py +0 -0
  37. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/casino/__init__.py +0 -0
  38. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/casino/roulette.py +0 -0
  39. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/cli.py +0 -0
  40. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/__init__.py +0 -0
  41. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/base.py +0 -0
  42. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/basket.py +0 -0
  43. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/disable.py +0 -0
  44. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/edit.py +0 -0
  45. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/enable.py +0 -0
  46. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/help.py +0 -0
  47. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/info.py +0 -0
  48. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/reset.py +0 -0
  49. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/roulette.py +0 -0
  50. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/search.py +0 -0
  51. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/commands/top.py +0 -0
  52. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/config.py +0 -0
  53. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/games/__init__.py +0 -0
  54. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/games/connect4.py +0 -0
  55. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/games/game.py +1 -1
  56. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/games/rock_paper_scissor.py +0 -0
  57. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/games/tic_tac_toe.py +0 -0
  58. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/hunts/__init__.py +0 -0
  59. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/hunts/hunt.py +0 -0
  60. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/hunts/luck.py +0 -0
  61. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/hunts/rank.py +0 -0
  62. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/locker.py +0 -0
  63. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/logger.py +0 -0
  64. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/models.py +0 -0
  65. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/py.typed +0 -0
  66. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/query.py +0 -0
  67. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/alembic.ini +0 -0
  68. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/config.example.yml +0 -0
  69. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/credits.txt +0 -0
  70. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_01.png +0 -0
  71. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_02.png +0 -0
  72. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_03.png +0 -0
  73. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_04.png +0 -0
  74. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_05.png +0 -0
  75. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_06.png +0 -0
  76. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_07.png +0 -0
  77. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_08.png +0 -0
  78. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_09.png +0 -0
  79. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_10.png +0 -0
  80. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_11.png +0 -0
  81. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_12.png +0 -0
  82. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_13.png +0 -0
  83. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_14.png +0 -0
  84. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_15.png +0 -0
  85. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_16.png +0 -0
  86. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_17.png +0 -0
  87. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_18.png +0 -0
  88. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_19.png +0 -0
  89. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/eggs/egg_20.png +0 -0
  90. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/icons/arrow.png +0 -0
  91. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/icons/end.png +0 -0
  92. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/icons/versus.png +0 -0
  93. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/icons/wait.png +0 -0
  94. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s1.png +0 -0
  95. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s10.png +0 -0
  96. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s11.png +0 -0
  97. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s12.png +0 -0
  98. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s2.png +0 -0
  99. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s3.png +0 -0
  100. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s4.png +0 -0
  101. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s5.png +0 -0
  102. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s6.png +0 -0
  103. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s7.png +0 -0
  104. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s8.png +0 -0
  105. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s9.png +0 -0
  106. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sA.png +0 -0
  107. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sB.png +0 -0
  108. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sC.png +0 -0
  109. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sD.png +0 -0
  110. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sE.png +0 -0
  111. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sF.png +0 -0
  112. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sG.png +0 -0
  113. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sH.png +0 -0
  114. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sI.png +0 -0
  115. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sJ.png +0 -0
  116. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sK.png +0 -0
  117. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sL.png +0 -0
  118. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sM.png +0 -0
  119. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sN.png +0 -0
  120. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sO.png +0 -0
  121. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sP.png +0 -0
  122. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sQ.png +0 -0
  123. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sR.png +0 -0
  124. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sS.png +0 -0
  125. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sT.png +0 -0
  126. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sU.png +0 -0
  127. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sV.png +0 -0
  128. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sW.png +0 -0
  129. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sX.png +0 -0
  130. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sY.png +0 -0
  131. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/sZ.png +0 -0
  132. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/placements/s_.png +0 -0
  133. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_back.png +0 -0
  134. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_m1.png +0 -0
  135. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_m2.png +0 -0
  136. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p0.png +0 -0
  137. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p1.png +0 -0
  138. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p10.png +0 -0
  139. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p11.png +0 -0
  140. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p12.png +0 -0
  141. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p2.png +0 -0
  142. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p3.png +0 -0
  143. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p4.png +0 -0
  144. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p5.png +0 -0
  145. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p6.png +0 -0
  146. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p7.png +0 -0
  147. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p8.png +0 -0
  148. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/emotes/skyjo/skyjo_p9.png +0 -0
  149. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/logging.conf +0 -0
  150. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/resources/logo.png +0 -0
  151. {easterobot-1.5.1 → easterobot-1.5.2}/easterobot/utils.py +0 -0
  152. {easterobot-1.5.1 → easterobot-1.5.2}/entrypoint.sh +0 -0
  153. {easterobot-1.5.1 → easterobot-1.5.2}/tests/__init__.py +0 -0
  154. {easterobot-1.5.1 → easterobot-1.5.2}/tests/constants.py +0 -0
  155. {easterobot-1.5.1 → easterobot-1.5.2}/tests/test_cli.py +0 -0
  156. {easterobot-1.5.1 → easterobot-1.5.2}/tests/test_config.py +0 -0
  157. {easterobot-1.5.1 → easterobot-1.5.2}/tests/test_search.py +0 -0
  158. {easterobot-1.5.1 → easterobot-1.5.2}/tools/chatgpt.txt +0 -0
  159. {easterobot-1.5.1 → easterobot-1.5.2}/tools/cropping.py +0 -0
  160. {easterobot-1.5.1 → easterobot-1.5.2}/tools/gen_grid_emoji.py +0 -0
  161. {easterobot-1.5.1 → easterobot-1.5.2}/tools/gg sans Bold.ttf +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: easterobot
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: Discord bot for Easter.
5
5
  Project-URL: Homepage, https://github.com/Dashstrom/easterobot
6
6
  Project-URL: Repository, https://github.com/Dashstrom/easterobot
@@ -144,24 +144,28 @@ Configuration directory
144
144
 
145
145
  .. code-block:: text
146
146
 
147
- data Root directory
148
- ├── .gitignore Avoid pushing sensitive data
149
- ├── config.yml Configuration file
150
- ├── easterobot.db Database
151
- ├── logs Logging directory
152
- │ ├── easterobot.log Latest log file
153
- │ └── easterobot.log.1 Rotating log file
154
- └── resources Resource directory
155
- ├── config.example.yml An example of config
156
- ├── credits.txt Credits of emotes
157
- ├── emotes Directory loaded as application emotes
158
- │ ├── eggs Directory for eggs
159
- │ | └── egg_01.png Emoji to use for egg
160
- └── icons Misc emotes to load
161
- └── arrow.png Emoji used in messages
162
- ├── logging.conf Logging configuration
163
- ├── alembic.ini Configure for alembic
164
- └── logo.png Logo used by the bot
147
+ data Root directory
148
+ ├── .gitignore Avoid pushing sensitive data
149
+ ├── config.yml Configuration file
150
+ ├── easterobot.db Database
151
+ ├── logs Logging directory
152
+ │ ├── easterobot.log Latest log file
153
+ │ └── easterobot.log.1 Rotating log file
154
+ └── resources Resource directory
155
+ ├── config.example.yml An example of config
156
+ ├── credits.txt Credits of emotes
157
+ ├── emotes Directory loaded as application emotes
158
+ │ ├── eggs Directory for eggs
159
+ │ | └── egg_01.png Emoji to use for egg
160
+ ├── icons Misc emotes to load
161
+ └── arrow.png Emoji used in messages
162
+ ├── placements Directory for emoji used in grid
163
+ │ │ └── s1.png Single blue emoji with one on it
164
+ └── skyjo Skyjo cards
165
+ │ └── skyjo_m1.png Card with minus -1 with deep blue
166
+ ├── logging.conf Logging configuration
167
+ ├── alembic.ini Configure for alembic
168
+ └── logo.png Logo used by the bot
165
169
 
166
170
  Development
167
171
  ###########
@@ -106,24 +106,28 @@ Configuration directory
106
106
 
107
107
  .. code-block:: text
108
108
 
109
- data Root directory
110
- ├── .gitignore Avoid pushing sensitive data
111
- ├── config.yml Configuration file
112
- ├── easterobot.db Database
113
- ├── logs Logging directory
114
- │ ├── easterobot.log Latest log file
115
- │ └── easterobot.log.1 Rotating log file
116
- └── resources Resource directory
117
- ├── config.example.yml An example of config
118
- ├── credits.txt Credits of emotes
119
- ├── emotes Directory loaded as application emotes
120
- │ ├── eggs Directory for eggs
121
- │ | └── egg_01.png Emoji to use for egg
122
- └── icons Misc emotes to load
123
- └── arrow.png Emoji used in messages
124
- ├── logging.conf Logging configuration
125
- ├── alembic.ini Configure for alembic
126
- └── logo.png Logo used by the bot
109
+ data Root directory
110
+ ├── .gitignore Avoid pushing sensitive data
111
+ ├── config.yml Configuration file
112
+ ├── easterobot.db Database
113
+ ├── logs Logging directory
114
+ │ ├── easterobot.log Latest log file
115
+ │ └── easterobot.log.1 Rotating log file
116
+ └── resources Resource directory
117
+ ├── config.example.yml An example of config
118
+ ├── credits.txt Credits of emotes
119
+ ├── emotes Directory loaded as application emotes
120
+ │ ├── eggs Directory for eggs
121
+ │ | └── egg_01.png Emoji to use for egg
122
+ ├── icons Misc emotes to load
123
+ └── arrow.png Emoji used in messages
124
+ ├── placements Directory for emoji used in grid
125
+ │ │ └── s1.png Single blue emoji with one on it
126
+ └── skyjo Skyjo cards
127
+ │ └── skyjo_m1.png Card with minus -1 with deep blue
128
+ ├── logging.conf Logging configuration
129
+ ├── alembic.ini Configure for alembic
130
+ └── logo.png Logo used by the bot
127
131
 
128
132
  Development
129
133
  ###########
@@ -1,6 +1,7 @@
1
1
  """Module for disable hunt."""
2
2
 
3
3
  import asyncio
4
+ from contextlib import suppress
4
5
  from typing import Optional
5
6
 
6
7
  import discord
@@ -54,15 +55,18 @@ async def game_dual( # noqa: D103
54
55
  cls: type[Game],
55
56
  *members: discord.Member,
56
57
  ) -> None:
58
+ set_members = set(members)
59
+ with suppress(KeyError):
60
+ set_members.remove(ctx.user)
57
61
  min_player = cls.minimum_player()
58
62
  max_player = cls.maximum_player()
59
- if min_player > len(members) + 1:
63
+ if min_player > len(set_members) + 1:
60
64
  await ctx.response.send_message(
61
65
  f"Vous devez être au minimum {min_player} joueurs",
62
66
  ephemeral=True,
63
67
  )
64
68
  return
65
- if max_player < len(members) + 1:
69
+ if max_player < len(set_members) + 1:
66
70
  await ctx.response.send_message(
67
71
  f"Vous devez être au maximum {min_player} joueurs",
68
72
  ephemeral=True,
@@ -77,13 +81,13 @@ async def game_dual( # noqa: D103
77
81
  locker = EggLocker(session, ctx.guild.id)
78
82
  try:
79
83
  await locker.pre_check(
80
- {ctx.user: bet, **{m: bet for m in members}}
84
+ {ctx.user: bet, **{m: bet for m in set_members}}
81
85
  )
82
86
  except EggLockerError as err:
83
87
  await ctx.response.send_message(str(err), ephemeral=True)
84
88
  return
85
89
 
86
- msg = await ctx.client.game.ask_dual(ctx, members, bet=bet)
90
+ msg = await ctx.client.game.ask_dual(ctx, set_members, bet=bet)
87
91
  if msg:
88
92
  # Unlock all egg at end
89
93
  async with locker:
@@ -92,13 +96,13 @@ async def game_dual( # noqa: D103
92
96
  async with locker.transaction():
93
97
  all_eggs = await asyncio.gather(
94
98
  locker.get(ctx.user, bet),
95
- *[locker.get(m, bet) for m in members],
99
+ *[locker.get(m, bet) for m in set_members],
96
100
  )
97
101
  except EggLockerError as err:
98
102
  await msg.reply(str(err), delete_after=30)
99
103
  return
100
104
 
101
- players = [ctx.user, *members]
105
+ players = [ctx.user, *set_members]
102
106
  RAND.shuffle(players)
103
107
  game = cls(ctx.client, msg, *players)
104
108
  await ctx.client.game.run(game)
@@ -785,13 +785,13 @@ class Skyjo(Game):
785
785
  """Get all score."""
786
786
  scores = {}
787
787
  for p, grid in self.grids.items():
788
- scores[p] = grid.value
789
788
  grid.return_all_card()
789
+ scores[p] = grid.value
790
790
  finish_player = self.finish_player
791
791
  if finish_player:
792
792
  finish_score = scores[finish_player]
793
793
  for p, value in scores.items():
794
- if p != finish_player and value <= finish_score:
794
+ if p != finish_player and value < finish_score:
795
795
  scores[finish_player] *= 2
796
796
  break
797
797
  return scores
@@ -0,0 +1,28 @@
1
+ """Module holding metadata."""
2
+
3
+ import logging
4
+ from importlib.metadata import Distribution
5
+
6
+ logger = logging.getLogger(__name__)
7
+ _DISTRIBUTION = Distribution.from_name(
8
+ "easterobot",
9
+ )
10
+ _METADATA = _DISTRIBUTION.metadata
11
+ if len(_METADATA) != 0:
12
+ if "Author" in _METADATA:
13
+ __author__ = str(_METADATA["Author"])
14
+ __email__ = str(_METADATA["Author-email"])
15
+ else:
16
+ __author__, __email__ = _METADATA["Author-email"][:-1].split(" <", 1)
17
+ __version__ = _METADATA["Version"]
18
+ __summary__ = _METADATA["Summary"]
19
+ else:
20
+ logger.warning("Cannot load package metadata, please reinstall !")
21
+
22
+ __author__ = "Unknown"
23
+ __email__ = "Unknown"
24
+ __version__ = "Unknown"
25
+ __summary__ = "Unknown"
26
+
27
+ __copyright__ = f"{__author__} <{__email__}>"
28
+ __issues__ = "https://github.com/Dashstrom/easterobot/issues"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "easterobot"
3
- version = "1.5.1"
3
+ version = "1.5.2"
4
4
  description = "Discord bot for Easter."
5
5
  authors = [
6
6
  { name = "Dashstrom", email = "dashstrom.pro@gmail.com" }
@@ -541,7 +541,7 @@ wheels = [
541
541
 
542
542
  [[package]]
543
543
  name = "easterobot"
544
- version = "1.5.1"
544
+ version = "1.5.2"
545
545
  source = { editable = "." }
546
546
  dependencies = [
547
547
  { name = "aiosqlite" },
@@ -1,18 +0,0 @@
1
- """Module holding metadata."""
2
-
3
- from importlib.metadata import Distribution
4
-
5
- _DISTRIBUTION = Distribution.from_name(
6
- "easterobot",
7
- )
8
- _METADATA = _DISTRIBUTION.metadata
9
-
10
- if "Author" in _METADATA:
11
- __author__ = str(_METADATA["Author"])
12
- __email__ = str(_METADATA["Author-email"])
13
- else:
14
- __author__, __email__ = _METADATA["Author-email"][:-1].split(" <", 1)
15
- __version__ = _METADATA["Version"]
16
- __summary__ = _METADATA["Summary"]
17
- __copyright__ = f"{__author__} <{__email__}>"
18
- __issues__ = "https://github.com/Dashstrom/easterobot/issues"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -247,8 +247,8 @@ class GameCog(commands.Cog):
247
247
  bet: int,
248
248
  ) -> Optional[discord.Message]:
249
249
  """Send basic message for initialization."""
250
- event = asyncio.Event()
251
250
  pending_members = list(members)
251
+ event = asyncio.Event()
252
252
  accepted_members: list[discord.Member] = [ctx.user]
253
253
  cancel_by: Optional[discord.Member] = None
254
254
 
File without changes
File without changes
File without changes
File without changes
File without changes