Ответы пользователя по тегу Discord
  • Какой ЯП выбрать для написания бота?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Ну я думаю, если Вы никогда не учили никакой ЯП, то лучше начинайте с Python + discord.py 2.0 или py-cord(лично я использую discord.py). Да есть еще JS, C# и т.д, но когда я выбирал ЯП я посмотревши много языков, остановился на Python так как простой синтаксис(это было главное для меня, хех)
    Ответ написан
    Комментировать
  • Как сделать приветствие, когда бот зашёл на сервер?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Как насчёт этого? В квадратных скобках стоит порядочный номер на сервере, если он стоит на 0, то отправит в первый канал к которому бот имеет доступ. Ну а атм уже ставь индекс какой тебе нужно(запомни тут идёт с нуля)
    @bot.event
    async def on_guild_join(guild):
        emb = discord.Embed(
            color = 0x22ff00,
            title = f"Title: example \"Hi {guild.name}, I'm here!",
            description = f"My function..."
            )
        await guild.text_channels[0].send(embed = emb)
    Ответ написан
    Комментировать
  • Как в discord.py activity добавить картинку?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Такое вроде бы не возможно, картинка ставится сама через API игры. Только если ставить через Rich Presence. Вот что в документации пишет.
    Ответ написан
    Комментировать
  • Как импортировать команду из одного файла в другой?

    INDMops
    @INDMops
    Парень с небольшой историей...
    В файлах команд:
    import os
    os.chdir(r'путь к директории бота') #если на хостинге то относительный

    В основном файле бота:
    import blacklist, modmail
    
    cogs = [blacklist, modmail]
    
    bot = commands.Bot(settings["prefix"], intents = discord.Intents.all())
    for i in range(len(cogs)): 
        cogs[i].setup(bot)
        print('Коги готовы!')
    Ответ написан
    Комментировать
  • В чём ошибка....?

    INDMops
    @INDMops
    Парень с небольшой историей...
    А не лучше сделать так?
    @bot.command(aliases = ["шар", "Шар", "Ball"])
    async def ball(ctx, *, question):
      responses = [
        'Это точно.',
        'Очень даже вряд-ли.',
        'Нет.',
        'Да, безусловно.',
        'Вы можете рассчитывать на это.',
        'Вероятно.',
        'Перспектива хорошая.',
        'Да.',
        'Знаки указывают да.',
        'Ответ туманный, попробуйте еще раз.',
        'Спроси позже.',
        'Лучше не говорить тебе сейчас.',
        'Не могу предсказать сейчас.',
        'Сконцентрируйтесь и спросите снова.',
        'Не рассчитывай на это.',
        'Мой ответ - нет.',
        'Мои источники говорят нет.',
        'Перспективы не очень.',
        'Очень сомнительно.'
        ]
      responses = random.choice(responses)
      await ctx.send(content = f'[:8ball:] Шар говорит\n', embed = discord.Embed(color = 0x22ff00,description = responses))
    Ответ написан
    Комментировать
  • Как обрезать изображение по колу?

    INDMops
    @INDMops Автор вопроса
    Парень с небольшой историей...
    Ответ написан
    Комментировать
  • Как сделать фон у сообщения embed в дискорд?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Это изображение самого сайта, задаётся в коде сайта. Это можно сымитировать если вам нужно такое же.
    Ссылку в description вставляем в треугольные скобки < >(так мы запрещаем вставлять в сообщение пре досмотр контента, изображение). Дальше через .set_image вставляем свое изображение. Вот такими простим способом мы повторили точь-в-точь такое же сообщение
    Ответ написан
    Комментировать
  • Как сделать двойной перенос строки в Python?

    INDMops
    @INDMops Автор вопроса
    Парень с небольшой историей...
    Нашёл ответ:
    print("Some\n\ntext")
    Но я когда-то уже пробивал это, но выводилась какая-то странная ошибка. 
    Ответ написан
  • Как сделать уведомления о стримах ютуберов?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Есть много ботов для подобной задачи. Например, я пользовался такими ботами как: Juniper и MEE6. MEE6 оставался моим фаворитом долгое время до того как убрали возможность делать уведомление от разных каналов.(теперь только с премиум подпиской). Потому начал пользоваться Juniper. Ниже будет инструкция как сделать чтобы приходили сообщение с YouTube в определённый канал вашего сервера.

    Инструкция будет как подключить рассылку сообщений через Juniper bot.
    1. Переходим на офф. сайт бота - ссылка
    2. Приглашаем бота к себе на сервер. Переходя по кнопке, или же жмите сюда
      61d89a4f652b1259261492.png
    3. Выбираем сервер, и если не разбираетесь в правах бота лучше оставить все галочки включены, а если понимаете тогда оставляйте нужные.
      Дальше нажимаем кнопку "Продолжить"61d89b517e899228303744.png
    4. Тут нажимаем "Авторизовать", єтой кнопкой мы приглашаем бота на наш сервер.
      61d89c537e4c4555102505.png
    5. Дальше на главной странице нажимаем кнопку "Войти". Или же нажмите тут
      61d89f2e42248052229715.png
    6. Когда нажмёте на кнопку/гиперссылка вас должно переместить на окно авторизации(если не авторизовались в Discord ранние в браузере, в ином случае авторизуемся), и после успешной авторизации перебросит сразу в панель управление бота, а точнее на вкладку со всема серверами где у вас есть админ права.
      unknown.png?width=1435&height=663
    7. Выбираем сервер куда пригласили бота.
    8. Открываем вкладку "Публикации и подписки".
      61d8a1c73ad6b322940912.png
    9. На странице нажимаем на плюсик внизу справа и списка платформ выбираем YouTube(который нас как раз интересует), Twitch(идентичная настройка с YouTube) ну и VK(там намного сложнее)
    10. В поле ищем канал или же просто вставляем ссылку на канал.
      unknown.png?width=1435&height=663
    11. Жмем кнопку "Продолжить", и всё готово. Теперь бот будет отправлять оповещенные об новом видео или стриме на канале.
      Но нужно ещё настроить где будет публиковать эти сообщение на сервере.
    12. Дальше нажимаем на шестерёнку у канала и нам откроется панель редактирование сообщений.
    13. В поле "Канал публикации" выбираем канал где будет публиковаться сообщение, а в поле "Шаблон сообщения" пишем то что будет отправлять бот когда появится новое видео на канале.

    В сообщение можно использовать упоминание ролей и каналов, а также можно использовать сменные которые предоставляет бот.
    • {{ channel }} - выводит названые канала;
    • {{ channel .url}} - выводит ссылку на канала;
    • {{ video }} - выводит названые видео;
    • {{ video.url }} - выводит ссылку на видео;
    • {{ video.thumbnailUrl }} - выводит ссылку на превю видео;


    Например, можно сделать такой шаблон:
    <@роль которою нужно упомянуть> - на канале {{ channel }} вышло новое видео {{ video }}. Давай скорее посмотрим его!
    {{ video.url }}


    И ещё, если на сервере включено "Сообщество" то в сообщение нельзя будет упомянуть роль @everyone.(запрещено правилами Discord). Но я все же рекомендую создать определённую роль, чтобы только кому интересно следить за деятельностью канала приходило сообщение.
    Ответ написан
    Комментировать
  • Как сделать команду по подобее +bite, +kiss как у у jegybot-а для своего дискорд бота на python?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Как-то так ты имел в виду?

    unknown.png
    @bot.command()
    async def hug(ctx, member: discord.Member = None, amount = 1):
        await ctx.channel.purge(limit = amount)#Удаляет триггер команды
        if member == None:
            await ctx.send("Извини, но команда была введена не верно, ты забыл ввести того, кого хотел объять.\nПопробуй так: `+hug @sorao`")
        author = ctx.author
    
         #сам embed
        embed = discord.Embed(
            color = 0x22ff00,
            description = f"{author.mention} обнял {member.mention}")
        embed.set_image(url=f'{random.choice(img_link.img_hug)}')#Здесь у меня хранится список url картинок объятий
        #футер
        author = ctx.message.author
        embed.set_footer(text=f"Команду запросил {author}", icon_url=author.avatar_url)
        await ctx.send(embed=embed)


    Если нужно, то вот код списка url изображений
    #img from Tenor
    import random
    
    #img hug
    img_hug = ["https://c.tenor.com/9e1aE_xBLCsAAAAC/anime-hug.gif", "https://c.tenor.com/Ct4bdr2ZGeAAAAAC/teria-wang-kishuku-gakkou-no-juliet.gif", "https://c.tenor.com/4n3T2I239q8AAAAC/anime-cute.gif", "https://c.tenor.com/ztEJgrjFe54AAAAC/hug-anime.gif", "https://c.tenor.com/2lr9uM5JmPQAAAAC/hug-anime-hug.gif", "https://c.tenor.com/0vl21YIsGvgAAAAC/hug-anime.gif", "https://c.tenor.com/ItpTQW2UKPYAAAAC/cuddle-hug.gif", "https://c.tenor.com/SXk-WqF6PpQAAAAC/anime-hug.gif", "https://c.tenor.com/X5nBTYuoKpoAAAAC/anime-cheeks.gif", "https://c.tenor.com/SPs0Rpt7HAcAAAAC/chiya-urara.gif", "https://c.tenor.com/mmQyXP3JvKwAAAAC/anime-cute.gif", "https://c.tenor.com/jQ0FcfbsXqIAAAAC/hug-anime.gif", "https://c.tenor.com/z2QaiBZCLCQAAAAC/hug-anime.gif", "https://c.tenor.com/ixaDEFhZJSsAAAAC/anime-choke.gif", "https://c.tenor.com/vkiqyZJWJ4wAAAAC/hug-cat.gif", "https://c.tenor.com/UhcyGsGpLNIAAAAC/hug-anime.gif", "https://c.tenor.com/nmzZIEFv8nkAAAAC/hug-anime.gif", "https://c.tenor.com/sBFE3GeNpJ4AAAAC/tackle-hug-couple.gif", "https://c.tenor.com/WpbZhwwj6zAAAAAC/happy-hug.gif", "https://c.tenor.com/EnfEuWDXthkAAAAC/hug-couple.gif"]
    Ответ написан
    9 комментариев
  • Как сделать команду avatar на discord.py?

    INDMops
    @INDMops
    Парень с небольшой историей...
    Пользуюсь вот таким вот кодом. Если когда вводите команду !avatar (! - как префикс), без упоминаний участника то выводится аватар того пользователя кто ввел команду.

    @bot.command()
    async def avatar(ctx, member: discord.Member  = None):
        if member == None:#если не упоминать участника тогда выводит аватар автора сообщения
            member = ctx.author
        embed = discord.Embed(color = 0x22ff00, title = f"Аватар участника - {member.name}", description = f"[Нажмите что бы скачать аватар]({member.avatar_url})")
        embed.set_image(url = member.avatar_url)
        await ctx.send(embed = embed)
    Ответ написан
    Комментировать