Öncelikle herkese iyi forumlar.
Discord.py kullanarak basit bir bot oluşturdum ve async def çekiliş
fonksiyonu dışında kusursuz çalışıyor ama o fonksiyonu çağırdığımda sıkıntı çıkarıyor.
import discord
from discord.ext import commands
import sqlite3
cor = sqlite3.connect("Çekiliş.db")
db = cor.cursor()
@Bot.command()
@commands.has_role("Yönetici")
async def çekiliş(ctx,member:discord.Member):
await ctx.send(f"{member} kullanıcısı çekilişe eklendi")
db.execute(f"INSERT INTO Liste(İsim,İd) VALUES({(member.split("#"))[0]},{(member.split("#"))[1]})")
Şimdiden teşekkürler.
(Diğer kısımları tam çalıştıkları için yazmadım)
Wormer_King:
sıkıntı çıkarıyor.
Acaba nasıl bir sıkıntı çıkarmakta, paylaşabilir misiniz?
@Bot.command()
@commands.has_role("Yönetici")
async def quit(ctx,member):
await ctx.send(member)
Yukarıdaki koddan sonra bu kod var ve hata:
File "DiscordBOT.py", line 61
async def quit(ctx,member):
^
SyntaxError: invalid syntax
Python versiyonunuz nedir?
import sys
print(sys.version_info)
sys.version_info(major=3, minor=8, micro=5, releaselevel='final', serial=0)
Burada zaten demişsiniz async
lerin çalışabildiğini, pardon.
Çalıştırdığınızda hata veren kodun tamamını bir bütün olarak atmanız mümkün müdür?
import discord
from discord.ext import commands
import sqlite3
cor = sqlite3.connect("Çekiliş.db")
db = cor.cursor()
string = """
!worm clear(for admin) = clear chat
!worm usage = bot usage rules
"""
Token = open("token.txt","r").read()
intents = discord.Intents(messages=True,guilds=True,reactions=True,presences=True)
Bot = commands.Bot("!worm ",intents=intents)
@Bot.event
async def on_ready():
print("Ben hazırım")
@Bot.event
async def on_member_join(member):
channel = discord.utils.get(member.guild.text_channels,name="welcome")
await channel.send(f"{member} aramıza katıldı")
@Bot.event
async def on_member_remove(member):
channel = discord.utils.get(member.guild.text_channels,name="gidenler")
await channel.send(f"{member} aramızdan ayrıldı :(")
@Bot.command()
async def usage(ctx):
await ctx.send(string)
@Bot.command()
async def clear(ctx,amount=5):
await ctx.channel.purge(limit=amount)
@Bot.command()
async def selma(ctx,member):
channel = discord.utils.get(member.guild.text_channels,name="banned")
await channel.send("hello")
@Bot.command()
@commands.has_role("Yönetici")
async def çekiliş(ctx,member:discord.Member):
await ctx.send(f"{member} kullanıcısı çekilişe eklendi")
db.execute(f"INSERT INTO Liste(İsim,İd) VALUES({(member.split("#"))[0]},{(member.split("#"))[1]})")
@Bot.command()
@commands.has_role("Yönetici")
async def quit(ctx,member):
await ctx.send(member)
@Bot.command()
async def mesaj(ctx,member:discord.Member,*,mesaj="boş"):
channel = discord.utils.get(member.guild.text_channels,name="duyuru")
await channel.send(f"{mesaj} ile {member} kişisine seslenildi !\n")
@Bot.command()
@commands.has_role("Yönetici")
async def kick(ctx,member:discord.Member,*argv,neden="boş"):
await member.kick(reason=neden)
channel = discord.utils.get(member.guild.text_channels,name="banned")
await channel.send(f"{member} kullanıcısı sunucudan geçici olarak engellendi ")
@Bot.command()
@commands.has_role("Yönetici")
async def ban(ctx,member:discord.Member,*argv,neden="boş"):
channel = discord.utils.get(member.guild.text_channels,name="banned")
await channel.send(f"{member} kullanıcısı {neden} nedeni ile banlandı")
await member.ban(reason=neden)
@Bot.command()
@commands.has_role("deneme")
async def unban(ctx,member:discord.Member,*argv,neden="affedildi"):
await member.unban(reason=neden)
Bot.run(Token)
Bu satırda f-string’i çift tırnak ile açıp içeride de çift tırnak kullanmışsınız. Acaba içeridekileri tek tırnak yapsanız düzelir mi:
db.execute(f"INSERT INTO Liste(İsim,İd) VALUES({(member.split('#'))[0]},{(member.split('#'))[1]})")
Hala aynı hatayı alıyorum maalesef
İlginç, ben herhangi bir syntax error almadım (token.txt
olan satırı ve en son Bot.run
kısmını çalıştırmadım dosya olmadığından). Tıpatıp aynı hata mı?
Çalıştırdığım şudur:
import discord
from discord.ext import commands
import sqlite3
cor = sqlite3.connect("Çekiliş.db")
db = cor.cursor()
string = """
!worm clear(for admin) = clear chat
!worm usage = bot usage rules
"""
# Token = open("token.txt","r").read()
intents = discord.Intents(messages=True,guilds=True,reactions=True,presences=True)
Bot = commands.Bot("!worm ",intents=intents)
@Bot.event
async def on_ready():
print("Ben hazırım")
@Bot.event
async def on_member_join(member):
channel = discord.utils.get(member.guild.text_channels,name="welcome")
await channel.send(f"{member} aramıza katıldı")
@Bot.event
async def on_member_remove(member):
channel = discord.utils.get(member.guild.text_channels,name="gidenler")
await channel.send(f"{member} aramızdan ayrıldı :(")
@Bot.command()
async def usage(ctx):
await ctx.send(string)
@Bot.command()
async def clear(ctx,amount=5):
await ctx.channel.purge(limit=amount)
@Bot.command()
async def selma(ctx,member):
channel = discord.utils.get(member.guild.text_channels,name="banned")
await channel.send("hello")
@Bot.command()
@commands.has_role("Yönetici")
async def çekiliş(ctx,member:discord.Member):
await ctx.send(f"{member} kullanıcısı çekilişe eklendi")
db.execute(f"INSERT INTO Liste(İsim,İd) VALUES({(member.split('#'))[0]}, {(member.split('#'))[1]})")
@Bot.command()
@commands.has_role("Yönetici")
async def quit(ctx,member):
await ctx.send(member)
@Bot.command()
async def mesaj(ctx,member:discord.Member,*,mesaj="boş"):
channel = discord.utils.get(member.guild.text_channels,name="duyuru")
await channel.send(f"{mesaj} ile {member} kişisine seslenildi !\n")
@Bot.command()
@commands.has_role("Yönetici")
async def kick(ctx,member:discord.Member,*argv,neden="boş"):
await member.kick(reason=neden)
channel = discord.utils.get(member.guild.text_channels,name="banned")
await channel.send(f"{member} kullanıcısı sunucudan geçici olarak engellendi ")
@Bot.command()
@commands.has_role("Yönetici")
async def ban(ctx,member:discord.Member,*argv,neden="boş"):
channel = discord.utils.get(member.guild.text_channels,name="banned")
await channel.send(f"{member} kullanıcısı {neden} nedeni ile banlandı")
await member.ban(reason=neden)
@Bot.command()
@commands.has_role("deneme")
async def unban(ctx,member:discord.Member,*argv,neden="affedildi"):
await member.unban(reason=neden)
# Bot.run(Token)
async
hata çıkarıyor olabilirmi ?
Ne açıdan, syntax olarak mı? Python versiyonunuz yeterli onun için, zaten en yukarıdakinde verirdi galiba hatayı öyle olsaydı.
Şu yukarıda attığım kodu kopyalayıp yapıştırıp çalıştırdığınızda yine tıpatıp aynı hatayı mı alıyorsunuz? Çok ilginç, bilemedim; ben de çalıştı… (3.7)