-
-
Notifications
You must be signed in to change notification settings - Fork 33
feat(snippets): change snippet command behavior #875
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
Conversation
Reviewer's GuideModified the snippet command to reply contextually rather than broadcasting via ctx.send: it inspects message references and uses Message.reply or ctx.reply accordingly, preserving allowed_mentions and falling back if no reference exists. Sequence Diagram: Snippet Command Reply BehaviorsequenceDiagram
actor User
participant Bot
User->>Bot: Executes snippet command (e.g., /snippet name)
activate Bot
Bot->>Bot: Retrieves snippet text
alt Command is a reply to an existing message
participant RepliedMessage as "Message User Replied To"
Bot->>Bot: Detects command is a reply to RepliedMessage
Bot->>Bot: resolved_reference = RepliedMessage
Bot-->>RepliedMessage: reply(snippet_text)
else Command is not a reply or reference is not a message
participant CommandMessage as "User's Command Message"
Bot->>Bot: No valid message reference found
Bot-->>CommandMessage: reply(snippet_text) to user's command
end
deactivate Bot
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @CapnRyna - I've reviewed your changes and they look great!
Here's what I looked at during the review
- 🟡 General issues: 2 issues found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
tux/tux/cogs/snippets/get_snippet.py Lines 80 to 91 in 4b07ab0
This can be simplified to just: # pagination if text > 2000 characters
if len(text) <= 2000:
# Check if there is a message being replied to
reference = getattr(ctx.message.reference, "resolved", None)
reply_target = reference if isinstance(reference, Message) else ctx
await reply_target.reply(text, allowed_mentions=AllowedMentions.none())
return |
Looks great, appreciate the improvements. |
Description
resolves #870 and changes snippet behavior to reply to the command
Guidelines
My code follows the style guidelines of this project (formatted with Ruff)
I have performed a self-review of my own code
I have commented my code, particularly in hard-to-understand areas
I have made corresponding changes to the documentation if needed
My changes generate no new warnings
I have tested this change
Any dependent changes have been merged and published in downstream modules
I have added all appropriate labels to this PR
I have followed all of these guidelines.
How Has This Been Tested? (if applicable)
locally hosted and tested in ATL's dev server
Summary by Sourcery
Enhancements: