dshellInterpreter 0.2.9__tar.gz → 0.2.9.1__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.
Potentially problematic release.
This version of dshellInterpreter might be problematic. Click here for more details.
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_member.py +31 -1
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_message.py +27 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/dshell_keywords.py +2 -0
- {dshellinterpreter-0.2.9/dshellInterpreter.egg-info → dshellinterpreter-0.2.9.1}/PKG-INFO +1 -1
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1/dshellInterpreter.egg-info}/PKG-INFO +1 -1
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/setup.py +1 -1
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/__init__.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_channel.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_pastbin.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_role.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellInterpreteur/__init__.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellInterpreteur/dshell_interpreter.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellParser/__init__.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellParser/ast_nodes.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellParser/dshell_parser.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/__init__.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/dshell_token_type.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/dshell_tokenizer.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/__init__.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_utils.py +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/LICENSE +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/README.md +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/SOURCES.txt +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/dependency_links.txt +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/requires.txt +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/top_level.txt +0 -0
- {dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/setup.cfg +0 -0
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_member.py
RENAMED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
from datetime import timedelta, datetime, UTC
|
|
2
2
|
|
|
3
|
-
from discord import MISSING, Message, Member, Permissions, Role
|
|
3
|
+
from discord import MISSING, Message, Member, Permissions, Role, Embed
|
|
4
4
|
|
|
5
5
|
__all__ = [
|
|
6
|
+
"dshell_send_private_message",
|
|
6
7
|
"dshell_ban_member",
|
|
7
8
|
"dshell_unban_member",
|
|
8
9
|
"dshell_kick_member",
|
|
@@ -16,6 +17,35 @@ __all__ = [
|
|
|
16
17
|
"dshell_remove_member_roles"
|
|
17
18
|
]
|
|
18
19
|
|
|
20
|
+
async def dshell_send_private_message(ctx: Message, member: int = None, message: str = None, delete: int = None, embeds = None, ):
|
|
21
|
+
"""
|
|
22
|
+
Sends a private message to a member.
|
|
23
|
+
If member is None, sends the message to the author of the command.
|
|
24
|
+
If delete is specified, deletes the message after the specified time in seconds.
|
|
25
|
+
"""
|
|
26
|
+
if delete is not None and not isinstance(delete, (int, float)):
|
|
27
|
+
raise Exception(f'Delete parameter must be a number (seconds) or None, not {type(delete)} !')
|
|
28
|
+
|
|
29
|
+
member_to_send = ctx.author if member is None else ctx.channel.guild.get_member(member)
|
|
30
|
+
|
|
31
|
+
if member_to_send is None:
|
|
32
|
+
raise Exception(f'Member {member} not found!')
|
|
33
|
+
|
|
34
|
+
from .._DshellParser.ast_nodes import ListNode
|
|
35
|
+
|
|
36
|
+
if embeds is None:
|
|
37
|
+
embeds = ListNode([])
|
|
38
|
+
|
|
39
|
+
elif isinstance(embeds, Embed):
|
|
40
|
+
embeds = ListNode([embeds])
|
|
41
|
+
|
|
42
|
+
else:
|
|
43
|
+
raise Exception(f'Embeds must be a list of Embed objects or a single Embed object, not {type(embeds)} !')
|
|
44
|
+
|
|
45
|
+
sended_message = await member_to_send.send(message, delete_after=delete, embeds=embeds)
|
|
46
|
+
|
|
47
|
+
return sended_message.id
|
|
48
|
+
|
|
19
49
|
|
|
20
50
|
async def dshell_ban_member(ctx: Message, member: int, reason: str = MISSING):
|
|
21
51
|
"""
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_message.py
RENAMED
|
@@ -5,6 +5,7 @@ from discord.ext import commands
|
|
|
5
5
|
|
|
6
6
|
__all__ = [
|
|
7
7
|
'dshell_send_message',
|
|
8
|
+
'dshell_respond_message',
|
|
8
9
|
'dshell_delete_message',
|
|
9
10
|
'dshell_purge_message',
|
|
10
11
|
'dshell_edit_message',
|
|
@@ -47,6 +48,32 @@ async def dshell_send_message(ctx: Message, message=None, delete=None, channel=N
|
|
|
47
48
|
return sended_message.id
|
|
48
49
|
|
|
49
50
|
|
|
51
|
+
async def dshell_respond_message(ctx: Message, message=None, delete=None, embeds=None):
|
|
52
|
+
"""
|
|
53
|
+
Responds to a message on Discord
|
|
54
|
+
"""
|
|
55
|
+
if delete is not None and not isinstance(delete, (int, float)):
|
|
56
|
+
raise Exception(f'Delete parameter must be a number (seconds) or None, not {type(delete)} !')
|
|
57
|
+
|
|
58
|
+
respond_message = ctx if message is None else ctx.channel.get_partial_message(message) # builds a reference to the message (even if it doesn't exist)
|
|
59
|
+
|
|
60
|
+
from .._DshellParser.ast_nodes import ListNode
|
|
61
|
+
|
|
62
|
+
if embeds is None:
|
|
63
|
+
embeds = ListNode([])
|
|
64
|
+
|
|
65
|
+
elif isinstance(embeds, Embed):
|
|
66
|
+
embeds = ListNode([embeds])
|
|
67
|
+
|
|
68
|
+
else:
|
|
69
|
+
raise Exception(f'Embeds must be a list of Embed objects or a single Embed object, not {type(embeds)} !')
|
|
70
|
+
|
|
71
|
+
sended_message = await ctx.reply(respond_message,
|
|
72
|
+
delete_after=delete,
|
|
73
|
+
embeds=embeds)
|
|
74
|
+
|
|
75
|
+
return sended_message.id
|
|
76
|
+
|
|
50
77
|
async def dshell_delete_message(ctx: Message, message=None, reason=None, delay=0):
|
|
51
78
|
"""
|
|
52
79
|
Deletes a message
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/dshell_keywords.py
RENAMED
|
@@ -28,6 +28,8 @@ dshell_commands: dict[str, Callable] = {
|
|
|
28
28
|
"gp": dshell_get_pastbin, # get pastbin
|
|
29
29
|
|
|
30
30
|
"sm": dshell_send_message, # send message
|
|
31
|
+
"spm": dshell_send_private_message, # send private message
|
|
32
|
+
"srm": dshell_respond_message, # respond to a message
|
|
31
33
|
"dm": dshell_delete_message,
|
|
32
34
|
"pm": dshell_purge_message,
|
|
33
35
|
"em": dshell_edit_message, # edit message
|
|
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="dshellInterpreter",
|
|
8
|
-
version="0.2.9",
|
|
8
|
+
version="0.2.9.1",
|
|
9
9
|
author="Chronos",
|
|
10
10
|
author_email="vagabonwalybi@gmail.com",
|
|
11
11
|
description="A Discord bot interpreter for creating custom commands and automations.",
|
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_channel.py
RENAMED
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_pastbin.py
RENAMED
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/DISCORD_COMMANDS/dshell_role.py
RENAMED
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellInterpreteur/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/dshell_token_type.py
RENAMED
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/Dshell/_DshellTokenizer/dshell_tokenizer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/requires.txt
RENAMED
|
File without changes
|
{dshellinterpreter-0.2.9 → dshellinterpreter-0.2.9.1}/dshellInterpreter.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|