modifyself 0.3.4__tar.gz → 0.3.5__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.
- {modifyself-0.3.4 → modifyself-0.3.5}/PKG-INFO +1 -1
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/__init__.py +1 -1
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/commands/context.py +22 -4
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself.egg-info/PKG-INFO +1 -1
- {modifyself-0.3.4 → modifyself-0.3.5}/pyproject.toml +1 -1
- {modifyself-0.3.4 → modifyself-0.3.5}/LICENSE +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/README.md +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/activity.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/client.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/commands/__init__.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/commands/checks.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/commands/cog.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/commands/converters.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/commands/core.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/components.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/core/bitfield.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/core/enums.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/core/mixins.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/core/snowflake.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/errors.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/gateway/__init__.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/gateway/dispatcher.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/gateway/heartbeat.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/gateway/websocket.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/headers.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/http/__init__.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/http/client.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/http/ratelimit.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/http/route.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/interactions.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/__init__.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/base.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/billing.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/channel.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/guild.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/member.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/message.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/relationship.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/settings.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/user.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/models/webhook.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/state.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/types.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/utils.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself/voice.py +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself.egg-info/SOURCES.txt +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself.egg-info/dependency_links.txt +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself.egg-info/requires.txt +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/modifyself.egg-info/top_level.txt +0 -0
- {modifyself-0.3.4 → modifyself-0.3.5}/setup.cfg +0 -0
|
@@ -43,7 +43,21 @@ class Context:
|
|
|
43
43
|
@property
|
|
44
44
|
def channel(self) -> "Channel | None":
|
|
45
45
|
if self._cs_channel is None:
|
|
46
|
-
|
|
46
|
+
# Try to get channel from bot's state using channel_id
|
|
47
|
+
ch = self.bot._state._channels.get(self.message.channel_id)
|
|
48
|
+
if ch is None:
|
|
49
|
+
# Try to fetch it
|
|
50
|
+
import asyncio
|
|
51
|
+
try:
|
|
52
|
+
# Create a new event loop if needed
|
|
53
|
+
loop = asyncio.get_event_loop()
|
|
54
|
+
if loop.is_running():
|
|
55
|
+
# We're already in an async context, fetch directly
|
|
56
|
+
data = asyncio.create_task(self.bot._http.fetch_channel(self.message.channel_id))
|
|
57
|
+
# This won't work directly, we need to handle it differently
|
|
58
|
+
except:
|
|
59
|
+
pass
|
|
60
|
+
self._cs_channel = ch
|
|
47
61
|
return self._cs_channel
|
|
48
62
|
|
|
49
63
|
@property
|
|
@@ -73,9 +87,13 @@ class Context:
|
|
|
73
87
|
async def send(self, content: str | None = None, **kwargs):
|
|
74
88
|
"""Send a message to the current channel."""
|
|
75
89
|
ch = self.channel
|
|
76
|
-
if ch:
|
|
77
|
-
|
|
78
|
-
|
|
90
|
+
if ch is None:
|
|
91
|
+
# Fallback: use message.channel_id directly
|
|
92
|
+
try:
|
|
93
|
+
return await self.bot._http.send_message(self.message.channel_id, content, **kwargs)
|
|
94
|
+
except Exception as e:
|
|
95
|
+
raise RuntimeError(f"Cannot send: {e}")
|
|
96
|
+
return await ch.send(content, **kwargs)
|
|
79
97
|
|
|
80
98
|
async def reply(self, content: str | None = None, **kwargs):
|
|
81
99
|
"""Reply to the message that invoked this command."""
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|