- 20.06.2022
- 26 977
- 230
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Из этого гайда вы узнаете:
1. Как получить токен бота дискорд
2. Дам код бота на python для запуска нашего AI в дискорд
3. Помогу запустить бота
Как получить токен бота Discord и настроить что надо
1. Заходим на и входим в аккаунт дискорд если еще не вошли.
2. Нажимаем на New Application в верхнем правом углу, даем имя приложению и нажимаем на галочку ниже, создаем приложение
3. У нас открывается управление приложением, переводим взгляд влево и находим вкладку Bot
Нажимаем туда и добавляем бота кнопкой Add Bot, вводим двухэтапку если надо.
Копируем токен под названием бота кнопкой Copy и оставляем желательно в текстовом документе чтобы потом не ресетать токен.
Скроллим ниже и включаем эти три тумблера, сохраняем изменения.
Теперь снова смотрим левее, находим OAuth2 и жмем туда.
Выбираем URL Generator
Откроется такое окошко, выбираем тут Bot и Administrator, скроллим ниже и копируем ссылку, вставляем ссылку в браузере и приглашаем бота на сервер.
Код, запуск и использование
Первым делом копируем код ниже и создаем папку а в ней файл main.py, вставляем туда код
Вставляем токен бота в ковычки заместо token, сохраняем и закрываем main.py
Создаем в папке с main.py файл под названием cookies.json и вставляем куки(что да как указано в ориг теме, ссылка выше)
Открываем консоль и вписываем команды по очереди:
Готово, открываем консоль в папке с ботом и прописываем команду ниже, ждем несколько секунд и бот запущен
*как открыть консоль в папке:
Жмем на эту строку
вводим туда cmd и нажимаем Enter.
Заходим на сервер где добавлен наш бот и пишем команду !ask промпт
Ниже кидаю обновленный код:
Внимание! Этот код использует Disnake заместо Discord.py, а также библиотеку asyncio, перед первым запуском нового кода пропишите в консоль команды ниже:
Теперь бот использует слеш-команду /ask заместо команды с префиксом, оставил старый код для тех кому не по нраву слеш-команды, а также бот имеет 2 статуса активности "Играет в Bing" и "Играет в GPT-4" которые меняют друг друга каждые 15 сек, если они вам не нужны или хотите заменить на свои то уберите или меняйте, код ниже:
1. Как получить токен бота дискорд
2. Дам код бота на python для запуска нашего AI в дискорд
3. Помогу запустить бота
Как получить токен бота Discord и настроить что надо
1. Заходим на и входим в аккаунт дискорд если еще не вошли.
2. Нажимаем на New Application в верхнем правом углу, даем имя приложению и нажимаем на галочку ниже, создаем приложение
3. У нас открывается управление приложением, переводим взгляд влево и находим вкладку Bot
Нажимаем туда и добавляем бота кнопкой Add Bot, вводим двухэтапку если надо.
Копируем токен под названием бота кнопкой Copy и оставляем желательно в текстовом документе чтобы потом не ресетать токен.
Скроллим ниже и включаем эти три тумблера, сохраняем изменения.
Теперь снова смотрим левее, находим OAuth2 и жмем туда.
Выбираем URL Generator
Откроется такое окошко, выбираем тут Bot и Administrator, скроллим ниже и копируем ссылку, вставляем ссылку в браузере и приглашаем бота на сервер.
Код, запуск и использование
Первым делом копируем код ниже и создаем папку а в ней файл main.py, вставляем туда код
Python:
import os
import re
import discord
from discord.ext import commands
from EdgeGPT import Chatbot
BOT_TOKEN = 'token' # Вместо "token" вставить токен Discord бота, который получили ранее
bot = commands.Bot(command_prefix='!', intents=discord.Intents.all())
async def bing_chat(prompt):
# Надо создать файл cookies.json в папке. ПУТЬ НЕ МЕНЯТЬ, ФАЙЛ cookies.json ДОЛЖЕН БЫТЬ В ПАПКЕ С СКРИПТОМ!
gbot = Chatbot(cookiePath='./cookies.json')
response_dict = await gbot.ask(prompt=prompt)
return re.sub(r'\[\^\d\^\]', '', response_dict['item']['messages'][1]['text'])
@bot.command(name='ask', help='Спросить что-то у бота')
async def ask(ctx, *args):
try:
prompt = ' '.join(args)
if not prompt:
await ctx.send("Пустой запрос")
else:
message = await ctx.send("Обработка запроса, ожидайте")
bot_response = await bing_chat(prompt)
await message.edit(content=bot_response.replace('?\n\n', ''))
except Exception as e:
await ctx.send("Bing по каким-то причинам решил остановить с вами диалог! Проверьте cookie!") # Такое случается, когда поднимается тема, которую Bing не хочет обсуждать
@bot.event
async def on_ready():
print(f'Logged in as {bot.user} (ID: {bot.user.id})')
if __name__ == "__main__":
bot.run(BOT_TOKEN)
Вставляем токен бота в ковычки заместо token, сохраняем и закрываем main.py
Создаем в папке с main.py файл под названием cookies.json и вставляем куки(что да как указано в ориг теме, ссылка выше)
Открываем консоль и вписываем команды по очереди:
Код:
pip install py-cord==2.4.0
pip install discord
pip install EdgeGPT
Готово, открываем консоль в папке с ботом и прописываем команду ниже, ждем несколько секунд и бот запущен
Код:
py main.py
*как открыть консоль в папке:
Жмем на эту строку
вводим туда cmd и нажимаем Enter.
Заходим на сервер где добавлен наш бот и пишем команду !ask промпт
Ниже кидаю обновленный код:
Внимание! Этот код использует Disnake заместо Discord.py, а также библиотеку asyncio, перед первым запуском нового кода пропишите в консоль команды ниже:
Код:
pip install disnake
pip install asyncio
Теперь бот использует слеш-команду /ask заместо команды с префиксом, оставил старый код для тех кому не по нраву слеш-команды, а также бот имеет 2 статуса активности "Играет в Bing" и "Играет в GPT-4" которые меняют друг друга каждые 15 сек, если они вам не нужны или хотите заменить на свои то уберите или меняйте, код ниже:
Python:
import os
import re
import disnake
from disnake import ApplicationCommandInteraction
from disnake.ext import commands
from EdgeGPT import Chatbot
import asyncio
BOT_TOKEN = 'token' # Вместо "token" вставить токен Discord бота, который получили ранее
bot = commands.Bot(command_prefix='!', intents=disnake.Intents.all())
async def bing_chat(prompt):
# Надо создать файл cookies.json в папке. ПУТЬ НЕ МЕНЯТЬ, ФАЙЛ cookies.json ДОЛЖЕН БЫТЬ В ПАПКЕ С СКРИПТОМ!
gbot = Chatbot(cookiePath='./cookies.json')
response_dict = await gbot.ask(prompt=prompt)
return re.sub(r'\[\^\d\^\]', '', response_dict['item']['messages'][1]['text'])
async def change_status():
await bot.wait_until_ready()
while not bot.is_closed():
await bot.change_presence(activity=disnake.Activity(type=disnake.ActivityType.playing, name="Bing"))
await asyncio.sleep(15)
await bot.change_presence(activity=disnake.Activity(type=disnake.ActivityType.playing, name="GPT-4"))
await asyncio.sleep(15)
@bot.slash_command(name='ask', description='Спросить что-то у бота')
async def ask(interaction: ApplicationCommandInteraction, prompt: str):
try:
if not prompt:
await interaction.response.send_message("Пустой запрос")
else:
await interaction.response.defer()
bot_response = await bing_chat(prompt)
await interaction.followup.send(bot_response.replace('?\n\n', ''))
except Exception as e:
await interaction.response.send_message("Bing по каким-то причинам решил остановить с вами диалог! Проверьте cookie!") # Такое случается, когда поднимается тема, которую Bing не хочет обсуждать
@bot.event
async def on_ready():
print(f'Logged in as {bot.user} (ID: {bot.user.id})')
bot.loop.create_task(change_status())
if __name__ == "__main__":
bot.run(BOT_TOKEN)
Последние темы в этом разделе:
- [Сергей Спирёв] [Stepik] Библиотека Seaborn. Статистическая визуализация данных в Python (2025)
- [А.Ерошенко, Л.Данилова и др.] Курс по автоматизации тестирования на JavaScript + Playwright (2025)
- [Михаил Крыжановский] [Stepik] Телеграм-боты на Python: продвинутый уровень (2024)
- [IT Start] Курс по Python 3 (2024)
- [А. Ерошенко, С. Хомутинин, С. Васенков] Автоматизация тестирования на Python (2024)
- [IT Start] Создание графического интерфейса в Python 3 с Tkinter (2024)
- [Дмитрий Лаврик] PHP – ООП (2021)
- Параллелизм в Python. Заметка на русском с примерами кода.
- Крутая, содержательная шпаргалка с примерами по веб-фреймворку Django
- Асинхронный Python и Asyncio - Молчанов (2023)