Я не слишком новичок в python, но новичок в discord.py. Я попытался просмотреть руководство по discord.py, но не нашел, где я могу сохранить временную переменную на боте Discord.
Например, в PHP SESSION мы можем хранить информацию о SESSION (). Есть ли в discord.py такие же вещи?
Например, если у нас есть пользователь «A» и пользователь «B». «A» будет храниться как объект «A_Object», например, сообщения и т. Д. Аналогично «B_Object», но будет отличаться от «A_Object». Есть ли в discord.py такая функция?
Большое спасибо за помощь!
Вы можете использовать базу данных sqlite. Напишите внутри вашего def:
# define database import sqlite3 conn = sqlite3.connect(«my_database.db») cursor = conn.cursor() # get stored object from database sql = «SELECT * FROM my_table WHERE field_1=?» cursor.execute(sql, [(value_1)]) data = cursor.fetchall() # if object does not exist, create it if len(data) == 0: sql = «INSERT INTO my_table VALUES (?, ?)» cursor.execute(sql, [(value_1), (value_2)]) # if stored object exist and we need update it elif . sql = «UPDATE my_table SET field_2 = ? WHERE field_1 = ?» cursor.execute(sql, [(value_2), (value_1)]) else: # get data from first object value_of_field_1 = data[0][0] # get data from third object value_of_field_2 = data[2][1] # close database connection conn.commit() conn.close()
my_database.db — это файл базы данных sqlite, который должен храниться в той же папке, что и файл .py бота.
Making Your First Discord Bot | Part 1: Setup | Discord.py 2.0
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
Источник: www.javaer101.com
Как установить (или импортировать) только определенную версию discord.py?
Я пытаюсь установить пакет discord-1.7.3. pip устанавливает discord-1.7.3 и discord.py-2.0.1. Моя программа несовместима с версией 2.x.x, поэтому для установки мне нужна только версия 1.7.3. Ответы на этот вопрос предлагают указать pip, какую версию установить, но это не работает:
$ python3 —version Python 3.9.2 $ pip install ‘discord==1.7.3’ Collecting discord==1.7.3 Using cached discord-1.7.3-py3-none-any.whl (1.1 kB) Collecting discord.py>=1.7.3 Using cached discord.py-2.0.1-py3-none-any.whl (1.1 MB) Requirement already satisfied: aiohttp=3.7.4 in /home/username/.local/lib/python3.9/site-packages (from discord.py>=1.7.3->discord==1.7.3) (3.8.1) Requirement already satisfied: multidict=4.5 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (6.0.2) Requirement already satisfied: attrs>=17.3.0 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (22.1.0) Requirement already satisfied: async-timeout=4.0.0a3 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (4.0.2) Requirement already satisfied: charset-normalizer=2.0 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (2.1.1) Requirement already satisfied: aiosignal>=1.1.2 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (1.2.0) Requirement already satisfied: yarl=1.0 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (1.8.1) Requirement already satisfied: frozenlist>=1.1.1 in /home/username/.local/lib/python3.9/site-packages (from aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (1.3.1) Requirement already satisfied: idna>=2.0 in /home/username/.local/lib/python3.9/site-packages (from yarl=1.0->aiohttp=3.7.4->discord.py>=1.7.3->discord==1.7.3) (3.3) Installing collected packages: discord.py, discord Successfully installed discord-1.7.3 discord.py-2.0.1
. вы видите, что discord.py-2.0.1 все равно был установлен.
All you need to know about Buttons in Discord.py & Pycord | Ultimate Python Guide
В этом ответе предлагается использовать pkg_resources для управления импортируемой версией, но это тоже не работает:
$ cat test.py import pkg_resources pkg_resources.require(«discord==1.7.3») import discord print(discord.version_info) $ python3 test.py VersionInfo(major=2, minor=0, micro=1, releaselevel=’final’, serial=0)
x-x 8 Сен 2022 в 14:18
1 ответ
Лучший ответ
«Как установить (или импортировать) только определенную версию пакета?» неправильный вопрос в данном случае.
Вы вообще не хотите устанавливать пакет discord , так как это просто зеркало/заполнитель.
Это зеркальный пакет!
Вместо этого рекомендуется установить discord.py.
Если вам нужна версия 1.7.3 для Discord.py, установите правильный пакет:
pip install discord.py==1.7.3
На самом деле пакет-заполнитель discord даже не содержит никакого кода:
$ unzip -l discord-2.0.0-py3-none-any.whl Archive: discord-2.0.0-py3-none-any.whl Length Date Time Name ——— ———- —— —- 381 08-20-2022 23:51 discord-2.0.0.dist-info/METADATA 92 08-20-2022 23:51 discord-2.0.0.dist-info/WHEEL 1 08-20-2022 23:51 discord-2.0.0.dist-info/top_level.txt 296 08-20-2022 23:51 discord-2.0.0.dist-info/RECORD
Все, что он делает, это требует discord.py>=2.0.0 :
$ unzip -p discord-2.0.0-py3-none-any.whl discord-2.0.0.dist-info/METADATA Metadata-Version: 2.1 Name: discord Version: 2.0.0 Summary: A mirror package for discord.py. Please install that instead. Home-page: https://github.com/Rapptz/discord.py Author: Rapptz License: UNKNOWN Platform: UNKNOWN Description-Content-Type: text/markdown Requires-Dist: discord.py (>=2.0.0)
AKX 8 Сен 2022 в 14:33
Благодарю вас! $pip install discord.py==1.7.3 сделал свое дело.
Возможно, включите эту команду в свой ответ для дальнейшего использования?
Источник: question-it.com
Как проверить, предоставил ли пользователь аргумент discord.py
Я только начал пытаться научиться программировать в discord.py. Однако я не уверен, как проверить, предоставил ли пользователь аргумент после команды. Например, если пользователь набирает » kick», «wihout» помечает пользователя после него, он должен дать им сообщение об ошибке, напоминающее «Пожалуйста, отметьте пользователя». Поэтому я задаю вопрос: как проверить, помечает ли пользователь другой пользователь при использовании команды, а если нет, сообщите им сообщение об ошибке. Вот мой код:
Любая помощь будет принята с благодарностью, спасибо!
спросил(а) 2018-02-18T02:16:00+03:00 5 лет, 3 месяца назад
Источник: progi.pro