Ramer
Ramer

Reputation: 23

Suggestion bot discord.py

I want the bot to react to its own message with the ✅ and ❎ emojis for a suggestion command. Here is the code. How do i do it?

import discord
from discord.ext import commands

class suggestions(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.command(description = 'Add a suggestion for this community!')
    async def suggest(self, ctx, *,suggestion):

        
        await ctx.channel.purge(limit = 1)
        channel = discord.utils.get(ctx.guild.text_channels, name = '💡│suggestions')

        suggestEmbed = discord.Embed(colour = 0xFF0000)
        suggestEmbed.set_author(name=f'Suggested by {ctx.message.author}', icon_url = f'{ctx.author.avatar_url}')
        suggestEmbed.add_field(name = 'New suggestion!', value = f'{suggestion}')

        await channel.send(embed=suggestEmbed)

def setup(bot):
    bot.add_cog(suggestions(bot))

Upvotes: 1

Views: 4049

Answers (2)

user16080338
user16080338

Reputation:

Me, I use this:

@bot.command()
async def suggestion(ctx, *, content: str):
  title, description= content.split('/')
  embed = discord.Embed(title=title, description=description, color=0x00ff40)
  channel = bot.get_channel(insert the channel ID here)
  vote = await channel.send(embed=embed)
  await vote.add_reaction("✅")
  await vote.add_reaction("❌")
  await ctx.send("your suggestion has been send")

You can vote using the emojis, enjoy!

Upvotes: 0

Łukasz Kwieciński
Łukasz Kwieciński

Reputation: 15728

Messageable.send returns a discord.Message object, you can then simply .add_reaction

message = await ctx.send(embed=suggestEmbed)

await message.add_reaction('✅')
await message.add_reaction('❌')

Note: You need the unicode of the emoji to react, to get it simply \:{emoji}:

Reference:

Upvotes: 4

Related Questions