とらのメモ

IT関係やガジェットについての雑記

Discord BotにSlackのアンケートみたいな機能をつける

はじめに

タイトル通りSlackのアンケートみたいな機能(劣化版)を作ろうという記事。

とてもシンプル f:id:ikayome:20190719145500p:plain

つくっていこう

チュートリアルはこの前書いたのでここを見てほしい ikayome.hateblo.jp

import discord
from discord.ext import commands
import asyncio
import sys

client = commands.Bot(command_prefix='.')



@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

@client.command()
async def poll(ctx, about = "question", *args):
    emojis = ["1⃣","2⃣","3⃣","4⃣"]

    cnt = len(args)
    message = discord.Embed(title=":speech_balloon: "+about,colour=0x1e90ff)
    if cnt <= len(emojis):
        for a in range(cnt):
            message.add_field(name=f'{emojis[a]}{args[a]}', value="** **", inline=False)
        msg = await ctx.send(embed=message)
        #投票の欄
        for i in range(cnt):
            await msg.add_reaction(emojis[i])
    else:
        await ctx.send("すまないが項目は4つまでなんだ...")


client.run("YOUR-TOoooooooooooooKEN")

項目数はemojisの絵文字を追加するだけで5個でも6個にでも増やせます。今回は割愛。 なにかあったらTwitter@jp8h まで。多分答えます。