Как пинговать двух в дискорде на питоне
Перейти к содержимому

Как пинговать двух в дискорде на питоне

  • автор:

Name already in use

Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

�� Ping Pong Discord Bot ��

Simple PingPong Discord Bot (Using Discord.py)

  • Join My Discord Server
  • -ping

About

Simple Ping Pong Discord Bot Using Python (discord.py)

Topics

Resources

License

Stars

Watchers

Forks

Releases

Packages 0

Languages

Footer

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Latency command in Discord.py

I’ve looked in a lot of places and I can’t find a way to make a ping (latency) command using discord.py , something like this:

17 Answers 17

Really at this point you should be using the rewrite branch of discord.py

This would be my solution using the commands extension.

Alex Diamond's user avatar

mental's user avatar

On the rewrite branch of discord.py, you can use the following:

Of course, you’ll need to change bot if you’re using a different variable name.

There is probably a million better lines of code to use for this but this is what i use

Most of the answers for this question don’t round the ping, so I wrote a script that does.

AnkieTankie's user avatar

This ping command give a response back from how long it took between the bot and discord

Mangu's user avatar

BlueHydra Demon's user avatar

Okay so previously i showed you how to do a simple one. Now i went and made it a bit better And it follows as

Here is the new verion and it is better and it is 100% working because i am using it myself in my bot

BlueHydra Demon's user avatar

This won’t be super effective, let’s be honest, there isn’t really a way to test this as you can’t run a script clientside to get the time. But this will test the time between your system clock when the script begins and when discord says they got the message. Not really a ping, not in any definition but it will give you a hint if your bot is slowed down.

Tutorial: Discord Bot Ping Command

Oskar Xion

If you have no experience on how to code discord bots read my last article:

Tutorial: Create a simple Discord Bot

May you have already used an app called Discord. It´s an IRC that is mostly used by gamers and communities. You might…

Requirements

  • You must have Node JS installed on your desktop or hosting.
  • You must have a text editor installed. (I recomment Atom)
  • You must have a discord account

Lets Get Started

In the last tutorial we created the following files server.js, config.json and package.json.
In this tutorial we will just need to edit the server.js

Lets get a closer look on the last part.

In the last part we can see this:

Now we will change the command from hello to ping.

Now we after the bot hast checked if the command equals ping we will execute the code to get the ping and we will send it back to the channel or message author:

If you want, you can also add a loading message, that will be edited to the Ping message

Run your Bot

Now its time to run our bot! Just type in:

Moment of Truth

Now go to your chat server and make sure your bot is connected and online, then type in to the chat box “-ping” it should reply with the ping to you.

If it worked then Congratulations you have created your first custom command!

Its just a start but i guess you wouldnt have thought it is so easy.

I hope you learned something and i could help you. Keep going! If you have any questions you can contact me on my social media.

Создание бота Discord с помощью Python и Reply.it

Узнайте, как создать своего собственного бота Discord с помощью Python и Reply.it. Мы пройдем все шаги, необходимые для настройки вашего бота на Discord, а затем закодируем его с помощью Python, все в облаке.

  • Автор записи

Примечание: этот учебник представляет собой отрывок из Код с Reply.it: Проекты на Python для начинающих , книга и набор учебных пособий для начинающих, чтобы получить практический опыт программирования на Python.

В этом уроке мы будем использовать Repl.it и Python для создания чат-бота Discord. Если вы читаете этот учебник, вы, вероятно, по крайней мере слышали о Discord и, вероятно, имеете существующую учетную запись. Если нет, Discord-это приложение для VoIP и чата, которое предназначено для замены Skype для геймеров. Бот, которого мы создадим в этом уроке, сможет присоединиться к серверу Discord и отвечать на сообщения, отправленные людьми.

Если вы предпочитаете JavaScript, вы можете найти перевод этого руководства с использованием NodeJS вместо Python.

Вам будет легче следить за этим, если у вас есть некоторые знания Python и вы уже использовали Discord или подобное приложение, такое как Skype или Telegram. Мы не будем рассматривать самые основы Python, но мы подробно объясним каждую строку кода, поэтому, если у вас есть какой-либо опыт программирования, вы должны быть в состоянии следовать этому.

Обзор и требования

Мы будем делать все наше кодирование через Repl.it веб-IDE и хостинг нашего бота с Repl.it кроме того, вам не нужно будет устанавливать какое-либо дополнительное программное обеспечение на свой компьютер. Для этого урока вам нужно будет создать учетную запись Discord (если она у вас уже есть, вы можете пропустить это). Инструкции о том, как это сделать, приведены в следующем разделе.

В этом уроке мы рассмотрим:

  • Создание приложения и пользователя бота в вашей учетной записи Discord
  • Создание сервера на Discord
  • Добавление нашего бота на наш сервер Discord

Давайте сначала пройдем через эти шаги администратора, а затем перейдем к самой интересной части кодирования нашего бота.

Создание бота в Discord и получение токена

Вы можете зарегистрироваться на бесплатную учетную запись на странице регистрации Discord и загрузить одно из своих настольных или мобильных приложений с домашней страницы Discord . Вы также можете использовать Discord в браузере.

Как только у вас появится учетная запись, вы захотите создать приложение Discord. Посетите страницу разработчика Discord и нажмите кнопку “Новое приложение”, как показано на рисунке ниже.

Заполните имя своего бота и выберите “Создать”.

Первое, что нужно сделать на следующей странице, – это отметить свой идентификатор клиента, который вам понадобится для добавления бота на сервер. Вы можете вернуться позже и получить его с этой страницы или скопировать его куда-нибудь, где вы можете легко найти его позже.

Вы также можете переименовать приложение и предоставить описание своего бота в этот момент и нажать “Сохранить изменения”.

Теперь вы создали приложение Discord. Следующим шагом является добавление бота в это приложение, поэтому перейдите на вкладку “Бот” с помощью меню слева и нажмите кнопку “Добавить бота”, как указано ниже. Нажмите “Да, сделайте это”, когда Discord спросит, уверены ли вы в том, чтобы оживить нового бота.

Последнее, что нам понадобится от нашего бота, – это Токен. Любой, у кого есть токен бота, может доказать, что он принадлежит ему, поэтому вам нужно быть осторожным, чтобы не поделиться этим с кем-либо. Вы можете получить токен, нажав “Нажмите, чтобы открыть токен”, или скопировать его в буфер обмена, не видя его, нажав “Копировать”.

Обратите внимание на свой токен или скопируйте его в буфер обмена, так как в ближайшее время нам нужно будет добавить его в наш код.

Создание сервера Раздора

Если у вас нет сервера Discord для добавления бота, вы можете создать его, либо открыв приложение Discord для рабочего стола, которое вы загрузили ранее, либо вернувшись на домашнюю страницу Discord в вашем браузере. Нажмите значок”+”, обозначенный восклицательным знаком, как показано ниже, чтобы создать сервер.

Нажмите “Создать сервер” на следующем экране, а затем укажите имя сервера. Как только сервер будет запущен и запущен, вы сможете пообщаться с самим собой или пригласить друзей пообщаться с вами. Скоро мы также пригласим нашего бота пообщаться с нами.

Добавление бота Discord на сервер Discord

Наш бот Discord на данном этапе все еще является просто оболочкой, поскольку мы не написали никакого кода, чтобы позволить ему что-либо делать, но давайте все равно добавим его на наш сервер Discord. Чтобы добавить немного на ваш сервер, вам понадобится идентификатор клиента со страницы “Общая информация”, которую мы рассматривали ранее, когда создавали наше приложение Replbot (т. Е. идентификатор клиента, а не секретный токен бота).

Создайте URL-адрес, который выглядит следующим образом, но в конце используйте свой идентификатор клиента вместо моего:

Создайте URL-адрес, который выглядит следующим образом, но в конце используйте свой идентификатор клиента вместо моего:

Перейдите по URL-адресу, созданному в вашем веб-браузере, и вы увидите страницу, похожую на следующую, где вы можете выбрать, на какой сервер добавить своего бота.

Выберите сервер, который мы создали на предыдущем шаге, и нажмите кнопку “авторизовать”. После завершения капчи вы должны получить уведомление о разногласиях в приложении, сообщающее вам, что ваш бот присоединился к вашему серверу.

Теперь мы можем перейти к самой веселой части создания мозга для нашего бота!

Создание Repl и установка наших зависимостей Discord

Первое, что нам нужно сделать, это создать Python Repl для написания кода для нашего бота Discord. По адресу repl.it , создайте новый ответ, выбрав в качестве языка “Python”.

Нам не нужно изобретать велосипед, так как на GitHub уже есть отличная оболочка Python для API Discord bot , что значительно ускоряет настройку базового бота discord на Python. Чтобы использовать библиотеку, мы можем просто написать import discord в верхней части main.py . Reply.it будет обрабатывать установку этой зависимости при нажатии кнопки “выполнить”.

Наш бот почти готов к работе, но нам все еще нужно подключить ваш секретный токен. Это позволит вашему коду управлять нашим ботом.

Настройка авторизации для нашего бота

По умолчанию, Repl.it код является общедоступным. Это здорово, поскольку это поощряет сотрудничество и обучение, но мы должны быть осторожны, чтобы не делиться нашим секретным токеном бота (который дает любому, кто имеет к нему доступ, полный контроль над нашим ботом).

Чтобы обойти проблему необходимости предоставления нашему коду доступа к токену, позволяя другим получить доступ к нашему коду, но не нашему токену, мы будем использовать переменные среды . На обычной машине мы бы установили их непосредственно в нашей операционной системе, но с помощью Repl.it у нас нет к этому доступа. Reply.it позволяет нам устанавливать секретные переменные среды через специальный файл .env .

Во-первых, нам нужно создать новый файл с точным именем .env . Выберите “Добавить файл” на левой панели, как показано на рисунке ниже, и назовите этот файл .env . Важно не упускать из виду . в самом начале.

Откройте этот новый файл и добавьте переменную для определения секретного токена вашего бота (обратите внимание, что это второй токен, который мы получили при настройке бота-отличается от идентификатора клиента, который мы использовали для добавления нашего бота на наш сервер). Это должно выглядеть примерно так:

Вам нужно будет:

  • Замените токен (после знака = ) на токен, который Discord дал вам при создании собственного бота.
  • Будьте осторожны с интервалом . В отличие от Python, если вы поставите пробел по обе стороны от = в файле .env , эти пробелы будут частью имени переменной или значения, поэтому убедитесь, что у вас нет пробелов вокруг = или в конце строки.
  • Запустите код еще раз. Иногда вам нужно обновить всю страницу, чтобы убедиться, что переменные среды успешно загружены.

Давайте создадим бота Discord, который повторяет все, что мы говорим, но в обратном порядке. Мы можем сделать это всего за несколько строк кода. В вашем main.py файл, добавьте следующее:

Давайте разорвем это на части строка за строкой, чтобы посмотреть, что он делает.

  • Строки 1-2 импортируйте библиотеку discord, которую мы установили ранее, и встроенную библиотеку операционной системы, которая нам понадобится для доступа к секретному токену нашего бота.
  • В строке 4 мы создаем Диссонанс Клиент . Это объект Python, который мы будем использовать для отправки различных команд на серверы Discord.
  • В строке 6 мы говорим , что определяем событие для нашего клиента. Эта строка является декоратором Python, который возьмет функцию непосредственно под ней и каким-то образом изменит ее. Бот Discord будет работать асинхронно , что может немного сбить с толку, если вы привыкли работать со стандартным Python. Мы не будем углубляться в асинхронный Python здесь, но если вам интересно, что это такое и почему оно используется, есть хорошее руководство по адресу freeCodeCamp . Короче говоря, вместо того, чтобы запускать код в нашем файле сверху вниз, мы будем запускать фрагменты кода в ответ на определенные события.
  • В строках 7-9 мы определяем, на какое событие мы хотим ответить и каким должен быть ответ. В этом случае мы говорим, что в ответ на событие on_ready (когда наш бот успешно присоединяется к серверу) мы должны вывести некоторую информацию на стороне сервера (т. Е. Это будет отображаться в выводе нашего Repl, но не отправлено в виде сообщения через Discord). Мы напечатаем простой Я нахожусь в сообщении, чтобы увидеть, что бот там, и распечатать идентификатор пользователя нашего бота (если вы используете несколько ботов, это облегчит работу с тем, кто что делает).
  • Строки 11-14 похожи, но вместо ответа на событие on_ready мы сообщаем нашему боту, как обрабатывать новые сообщения. Строка 13 говорит, что мы хотим отвечать только на сообщения, которые не от нас (в противном случае наш бот будет продолжать отвечать сам себе-вы можете удалить эту строку, чтобы понять, почему это проблема), и строка 14 говорит, что мы отправим новое сообщение на тот же канал, где мы получили сообщение ( message.channel ), и содержимое, которое мы отправим, будет тем же сообщением, которое мы получили, но в обратном направлении ( message.content[::-1] – ::-1 это немного странная, но полезная идиома Python для изменения строки или списка).

Последние две строки получают наш секретный токен из переменных среды, которые мы настроили ранее, а затем сообщают вашему боту о запуске.

Нажмите большую зеленую кнопку “Выполнить” еще раз, и вы увидите, что ваш бот сообщает об успешном присоединении к каналу в выводе Repl.

Откройте Discord и на сервере, который мы создали ранее, выберите приложение ReplBotApplication на панели в правой части экрана.

Как только вы выберете это, вы сможете отправить сообщение (введя его в поле, выделенное ниже) и увидеть, как ваш бот ответит!

Бот отвечает каждый раз, меняя текст, который мы вводим.

Поддержание жизни нашего бота

Теперь ваш бот может отвечать на сообщения, но только до тех пор, пока ваш Repl работает. Если вы закроете вкладку браузера или выключите компьютер, ваш бот остановится и больше не будет отвечать на сообщения о разногласиях.

Reply.it ваш код будет работать после закрытия вкладки браузера только в том случае, если вы используете веб-сервер. Потому что мы используем Python discord.py библиотека, наш бот не требует явного веб-сервера, но мы можем создать сервер и запустить его в отдельном потоке, просто чтобы сохранить наш Репл живым. Мы сделаем это с помощью фреймворка Flask .

Создайте новый файл в своем проекте под названием keep_alive.py и добавьте следующий код:

Мы не будем подробно останавливаться на этом, поскольку это не является центральным для нашего бота, но здесь мы запускаем веб-сервер, который вернет “Я жив”, если кто-нибудь его посетит, и мы предоставим метод для запуска этого в новом потоке (оставив основной поток для нашего бота Repl).

В нашем main.py файл, нам нужно добавить импорт для этого сервера в верхней части. Добавьте следующую строку в верхней части main.py .

В main.py нам нужно запустить веб – сервер непосредственно перед запуском загрузки. Добавьте эти три строки в main.py , непосредственно перед строкой с token.environ.get(«DISCORD_BOT_SECRET») :

Сделав это и снова нажав зеленую кнопку “Выполнить”, вы увидите некоторые изменения в своем ответе. Во-первых, вы увидите новую панель в правом верхнем углу, которая показывает веб-вывод с вашего сервера. Мы видим, что посещение вашего ответа теперь возвращает базовую веб-страницу, показывающую строку “Я жив”, которую мы сказали нашему веб-серверу вернуть по умолчанию. В нижней правой панели вы также можете увидеть некоторые дополнительные выходные данные от запуска и непрерывной работы Flask, прослушивания запросов.

Теперь ваш бот будет оставаться живым даже после закрытия браузера или выключения машины разработки. Repl все равно очистит ваш сервер и убьет вашего бота примерно через час бездействия, поэтому, если вы некоторое время не используете своего бота, вам придется войти в Repl и снова запустить бота. Кроме того, вы можете настроить сторонний (бесплатный!) сервис, например Uptime Robot . Робот Uptime пингует ваш сайт каждые 5 минут, чтобы убедиться, что он все еще работает-обычно, чтобы уведомить вас о неожиданном времени простоя, но в этом случае постоянные пинги имеют побочный эффект сохранения нашего Репла, поскольку он никогда не будет работать больше часа без какой-либо активности.

Разветвление и расширение нашего базового бота

Это не очень полезное и то, и другое, но сейчас возможности ограничены только вашим творчеством! Вы можете заставить своего бота получать ввод от пользователя, обрабатывать ввод и отвечать любым выбранным вами способом. На самом деле, с базовым вводом и выводом, которые мы продемонстрировали, у нас есть большинство компонентов любого современного компьютера, все из которых основаны на архитектуре фон Неймана (мы могли бы легко добавить недостающую память, если бы наш бот записал в файл или с немного большим усилием связался с базой данных SQLite для постоянного хранения).

Если вы следовали этому учебнику, у вас будет свой собственный базовый бот для ответа, с которым можно поиграть и расширить. Если вы просто читали, вы можете легко раскошелиться на этого бота по адресу https://repl.it/@GarethDwyer1/discord-bot и расширьте его так, как вы хотите (вам нужно будет добавить свой собственный токен и воссоздать файл .env по-прежнему). Счастливого взлома!

Если вы застряли в поисках идей, почему бы не связать свой дискорд с API Twitch , чтобы получать уведомления, когда ваши любимые стримеры находятся в Сети, или создать текстовое приключение .

В следующем уроке мы снова построим точно такую же лодку , но с использованием NodeJS вместо Python. Даже если вы предпочитаете Python, часто бывает хорошей идеей создать один и тот же проект на двух языках, чтобы вы могли лучше оценить различия и сходства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *