Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

87 temp voice #124

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

87 temp voice #124

wants to merge 8 commits into from

Conversation

NimVrod
Copy link

@NimVrod NimVrod commented Nov 8, 2024

Wykonano #87
Tworzenie kanałów na czas określony przez użytkownika (domyślnie 30 minut), kanał jest usuwany tylko wtedy gdy nie ma na nim żadnego użytkownika
Usuwanie tymczasowego kanału komendą
Sprawdzanie permisji do tworzenia kanałów

Creates a voice channel in the same category as ctx,
Every [delete_after] checks if there are any users in it if not deletes the channel
async def create(self, ctx: commands.Context, delete_after: int = 30):

try:
vc = await ctx.guild.create_voice_channel(name=f"Temp Voice Channel {datetime.datetime.now().strftime('%H:%m')}", category=ctx.channel.category)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

datetime.datetime.now().strftime('%H:%m') Zwraca złą godzinę, zmień .now() na .today() oraz %m na %M

Copy link
Contributor

@Heryin Heryin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Jakaś forma detekcji co godzinę czy istnieją tymczasowe kanały głosowe które są już po czasie, np. w przypadku restartu bota lub utraty połączenia z Discordem (uwaga na strefy czasowe, zmianę dat itp. https://docs.nextcord.dev/en/stable/ext/tasks/index.html
  • Komunikat o ręcznym usunięciu kanału następuje dopiero po jego usunięciu, więc komunikat odnosi się do nieistniejącego kanału i skutkuje w Usunięto #unknown
  • Ręczne usunięcie kanału nie usuwa istniejącego timera i po upływie czasu próbuje usunąć nieistniejący kanał z błędem 404
  • Komunikat o usunięciu kanału po x czasu ma w formule 60*delete_after zamiast po prostu delete_after, co skutkuje właściwym czasem usunięcia, ale ilością minut we wiadomości zwiększoną 60-krotnie
  • Help do check_permission
  • Może jakieś ograniczenie do np. 1 kanału na użytkownika, można dodać nazwę twórcy kanału na końcu jego nazwy
  • Timer nie jest odnawiany jeśli na kanale ktoś jest w momencie, w którym oryginalny czas minie (możliwe, że mój test nie był dokładny i to jednak działa)

Changed datetime.now to datetime.today
Changed ctx.send to ctx.reply
Fixed time issue in reply
Added an on_ready check for empty tempvoices in case of bot being offline
Added functions in prepartion of adding limits of number of channels for users
1 channel per user can be created at a time
Removed unneeded functions
Moved finding a user_id from channel_id to a separate function
@NimVrod
Copy link
Author

NimVrod commented Dec 7, 2024

  • Dodano detekcję co godzinę aby usuwać kanały tymczasowy w przypadku restartu bota
  • Naprawiano komunikat o usunięciu kanału
  • Naprawiano błąd 404 w przypadku ręcznego usunięcia kanału
  • Poprawiano komunikat o stworzeniu kanału
  • Dodano help do check_permission
  • Dodano limit 1 kanał tymczasowy dla użytkownika, używając słownika. Myślę, że bot nie będzie tak często restartowany aby był to problem, więc pominąłem dodawanie nazwy użytkownika do nazwy kanału

@NimVrod NimVrod requested a review from Heryin December 7, 2024 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tworzenie Kanałów głosowy na 0.5h i zwiększa jego życie jak ktoś na nim jest
2 participants