@UniFild445

Как сделать экономического бота для дискорда?

Всем привет, пытаюсь сделать экономического бота, получается не очень. Использую библиотеку discord.py.
Вот код:
import discord
from discord.ext import commands 
from discord.ext.commands import Bot
from discord.ext import tasks

import os

import sqlite3 
import discord
from tabulate import tabulate 
import json #используется только для обработки инвентаря, но ему можно найти и другое применение
conn = sqlite3.connect("server.db") 
cursor = conn.cursor()

#############################################################

bot = commands.Bot( command_prefix = '*' )
bot.remove_command('help')
intents = discord.Intents(messages=True, guilds=True)

#############################################################
@bot.event
async def on_ready():
	cursor.execute( """ CREATE TABLE users (
		name	INT,
		id 	TEXT,
		cash	TEXT,
		rep	INT,
		lxl	TEXT,
	) """ )
	connection.commit()
	for guild in bot.guilds:
		for member in guild.members:
			if cursor.execute( f"SELECT id FROM user WHERE id = {members.id}" ).fetchone() is None: # Если нет id то заносим в таблицу
				cursor.execute( f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)" )# Заносим данные в таблицу (member - ник пользователя и его тег
# member.id - айди пользователя	
				connection.commit()			
			else:
				pass


@bot.event 
async def on_member_join( member ):
	for member in guild.members:
			if cursor.execute( f"SELECT id FROM user WHERE id = {members.id}" ).fetchone() is None: 
				cursor.execute( f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1)" )	
				connection.commit()	
			else:
				pass


bot.run( '' )


Проблема с синтаксисом
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
0.Бросаете писать ботов не зная языка, и не умея гулить (желательно).
1.Смотрите на ошибку в консоли.
2.Пытаетесь осознать ее.
3.Если не знаете английского - открываете переводчик и возвращаетесь к п.1.
4.Если не понимаете, в чем проблема - гуглите.
5.Если гугл не помогает - откладываете бота, ищите книгу Лутца, штудируете и возвращаетесь к боту.
Ответ написан
Комментировать
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
if cursor.execute( f"SELECT id FROM user WHERE id = {members.id}" ).fetchone() is None: # Если нет id то заносим в таблицу
- это вы не в таблицу заносите, это х***ей страдаете. Почему бы вам не спросить у того дауна, у которого скопипастили код?

Решение одно - избавьтесь от f-строк, и возможно, жизнь наладиться.

Было бы классно, запилить на тостере фильтр, например, если в вопросе встречается словосочетание f"SELECT - банить и юзера по ip, и перенаправлять его к профессору хауди!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы