Есть простой бот, который может отвечать на команды "$mute", и всё. Потом я решил заставить бота написать в основной чат обычное сообщение, но что-то пошло не так и у меня не отправилось сообщение вообще.
Вот код:
import discord
from discord.ext import commands
from config import settings
import asyncio
from asyncio import sleep
bot = commands.Bot(command_prefix = settings['prefix'])
@bot.command()
# async def hello(ctx):
# author = ctx.message.author
# await ctx.send(f'Приветствую, {author.mention}!')
@bot.event
async def on_ready():
print('We have logged in as {0.user}'.format(bot))
@bot.event
async def on_member_join(member):
channel = client.get_channel(673495471288746014)
await channel.send('hello,', {member.mention})
@commands.has_permissions(manage_roles=True, ban_members=True, kick_members=True)
async def mute(ctx, user: discord.Member, time: int, reason):
role = user.guild.get_role(871675273588920350)
await ctx.send(f'{user} получил мут на {time} минут по причине: {reason}')
await user.add_roles(role)
await user.move_to(None)
await asyncio.sleep(time * 60)
await user.remove_roles(role)
bot.run(settings['token'])