17 Commits

Author SHA1 Message Date
e94883f6ad Merge pull request 'Update dependency ujson to v5.8.0' (#6) from renovate/ujson-5.x into main
Reviewed-on: #6
2023-08-07 14:13:08 +03:00
465838a196 Update dependency ujson to v5.8.0 2023-08-07 14:10:43 +03:00
a059fb0518 Merge pull request 'Update dependency requests to v2.31.0' (#5) from renovate/requests-2.x into main
Reviewed-on: #5
2023-05-22 19:39:04 +03:00
c4ee74753b Update dependency requests to v2.31.0 2023-05-22 18:40:49 +03:00
492edc242f Merge pull request 'Update dependency requests to v2.30.0' (#4) from renovate/requests-2.x into main
Reviewed-on: #4
2023-05-08 11:50:52 +03:00
66c0ad7ee8 Update dependency requests to v2.30.0 2023-05-08 11:46:39 +03:00
c1ee1b50ab Added config check and updated version to 2.3 2023-05-07 16:39:48 +02:00
7a379cf97e Updated ignore 2023-05-07 16:38:46 +02:00
388e27fdff config.json is now config_example.json 2023-05-07 16:38:17 +02:00
65a0e1097e Updated version to 2.2 2023-05-07 16:24:09 +02:00
3fe67e18b0 Channel will terminate when the last user quit 2023-05-07 16:23:16 +02:00
91eecb4b0b Fixed channels logic 2023-05-02 16:13:11 +02:00
740c6a1464 Updated version to 2.1 2023-05-02 16:10:32 +02:00
3ca44dcd2d Updated version to 2.0 2023-05-02 15:10:29 +02:00
301439f144 Fixed bot trigger on deafen and mute 2023-05-02 15:09:23 +02:00
3435d59d96 Merge pull request 'Update dependency requests to v2.29.0' (#3) from renovate/requests-2.x into main
Reviewed-on: #3
2023-04-26 23:49:52 +03:00
d560bce8c6 Update dependency requests to v2.29.0 2023-04-26 18:48:15 +03:00
8 changed files with 58 additions and 34 deletions

7
.gitignore vendored
View File

@@ -164,3 +164,10 @@ cython_debug/
# Built Visual Studio Code Extensions
*.vsix
# Project
venv
venv_linux
venv_windows
config.json

View File

@@ -26,8 +26,9 @@ Installation instructions are listed below. Please, make sure you have installed
1. `git clone https://git.end-play.xyz/profitroll/YusarinBot`
2. `cd YusarinBot`
3. `pip install -r requirements.txt`
4. `nano config.json`
5. `python yusarin.py`
4. `cp config_example.json config.json`
5. `nano config.json`
6. `python yusarin.py`
## Installation (Detailed)
@@ -42,9 +43,10 @@ Installation instructions are listed below. Please, make sure you have installed
9. You can rename it however you want, set needed descriptions etc
10. Go to "Bot" tab and enable application as bot
11. Copy token of your bot
12. Open file `config.json` with your favorite text editor and paste your token as value of "bot_token" key
13. Copy your own Discord ID and paste it as value of "owner" key (How to get ID: <https://support.playhive.com/discord-user-id/>)
14. Bot is ready! Run it using `python yusarin.py`
12. Copy `config_example.json` to `config.json`
13. Open file `config.json` with your favorite text editor and paste your token as value of "bot_token" key
14. Copy your own Discord ID and paste it as value of "owner" key (How to get ID: <https://support.playhive.com/discord-user-id/>)
15. Bot is ready! Run it using `python yusarin.py`
## Config explanation

View File

@@ -9,6 +9,7 @@ from discord import (
utils,
)
from discord.ext import commands
from discord.abc import GuildChannel
from functions import (
appendLog,
@@ -32,6 +33,11 @@ class CogChannel(commands.Cog):
def __init__(self, client):
self.client = client
@commands.Cog.listener()
async def on_guild_channel_delete(self, channel: GuildChannel):
if isUserVoice(channel):
await removeUserVoice(channel)
@Cog.listener()
async def on_voice_state_update(
self, member: Member, before: VoiceState, after: VoiceState
@@ -42,23 +48,17 @@ class CogChannel(commands.Cog):
vc_to = after.channel
# If user left vc
if vc_to is None:
if before.channel is not None and len(before.channel.members) == 0:
if isUserVoice(vc_from):
if isVoiceOfUser(vc_from, member):
await removeUserVoice(vc_from)
return
else:
if not isVoiceOfUser(vc_from, member):
if loadJson("config.json")["enable_nomic"]:
await changeNomicPerms("deny", vc_from, member)
await removeUserVoice(vc_from)
# If user joined vc
else:
if isUserVoice(vc_from):
if isVoiceOfUser(vc_from, member):
await removeUserVoice(vc_from)
else:
if loadJson("config.json")["enable_nomic"]:
await changeNomicPerms("deny", vc_from, member)
if after.channel is not None and after.channel.id == guildConfGet(
member.guild, "channel"
):
if isUserVoice(vc_to):
if loadJson("config.json")["enable_nomic"]:
await changeNomicPerms("allow", vc_to, member)

View File

@@ -254,7 +254,14 @@ async def removeUserVoice(vc: VoiceChannel) -> None:
remove(vc_file)
if needed_channel is None:
appendLog(
f"Removed voice channel '{needed_channel}' of user with id {str(vc_conf['ownerid'])}",
guild=vc.guild,
)
else:
await needed_channel.delete()
if debug:
appendLog(
f"Removed voice channel '{needed_channel}' ({str(needed_channel.id)}) of user with id {str(vc_conf['ownerid'])}",
@@ -267,10 +274,17 @@ async def removeUserVoice(vc: VoiceChannel) -> None:
)
if loadJson("config.json")["enable_nomic"]:
if nomic_channel is None:
appendLog(
f"Removed nomic channel '{nomic_channel}' of channel with id {str(needed_channel.id)}",
guild=vc.guild,
)
else:
await nomic_channel.delete()
if debug:
appendLog(
f"Removed nomic channel {nomic_channel} ({str(nomic_channel.id)}) of channel with id {str(needed_channel.id)}",
f"Removed nomic channel '{nomic_channel}' ({str(nomic_channel.id)}) of channel with id {str(needed_channel.id)}",
guild=vc.guild,
)
else:

View File

@@ -1,2 +1,2 @@
ujson==5.7.0
ujson==5.8.0
py-cord[speed]==2.4.1

View File

@@ -1,2 +1,2 @@
py-cord==2.4.1
requests==2.28.2
requests==2.31.0

View File

@@ -7,15 +7,16 @@ except Exception as exp:
)
exit()
from os import getpid
from os import getpid, path
from functions import *
pid = getpid()
version = 1.9
version = 2.3
if (
loadJson("config.json")["owner"] == "SET-OWNER-ID"
not path.exists("config.json")
or loadJson("config.json")["owner"] == "SET-OWNER-ID"
or loadJson("config.json")["bot_token"] == "SET-BOT-TOKEN"
):
print(