मैं वर्तमान में अजगर में एक कलह बॉट बना रहा हूँ। मैं अपेक्षाकृत नया हूं और मुझे नहीं पता कि इस त्रुटि को कैसे ठीक किया जाए। ऐसा लगता है कि कुछ अन्य लोगों को पहले यह त्रुटि हुई है, लेकिन मुझे यकीन नहीं है कि मेरे कोड में उनके समाधान का उपयोग कैसे करें। अभी तक बॉट को केवल "हैलो!" के साथ जवाब देना चाहिए। जब उपयोगकर्ता "$ हैलो" टाइप करता है, तो मैं उम्मीद करता हूं कि यह संदेश "बॉट डिस्कॉर्ड से कनेक्ट हो गया है!", लेकिन यह त्रुटि प्राप्त करें - विशेषता त्रुटि: 'कोई नहीं टाइप' ऑब्जेक्ट में कोई विशेषता नहीं है 'स्ट्रिप'
यहाँ मेरा कोड है:
# bot.py
import os
import discord
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
client = discord.Client()
@client.event
async def on_ready():
print(f'{client.user} has connected to Discord!')
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
client.run(os.getenv('DISCORD_TOKEN'))
किसी भी समाधान की सराहना की जाएगी! धन्यवाद
संपादित करें: पूर्ण त्रुटि शामिल न करने के लिए खेद है। यही पर है।
Traceback (most recent call last):
File "/Users/kodyneldner/DiscordBot/bot.py", line 25, in <module>
client.run(os.getenv('DISCORD_TOKEN'))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 723, in run
return future.result()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 702, in runner
await self.start(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 665, in start
await self.login(*args, bot=bot)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 511, in login
await self.http.static_login(token.strip(), bot=bot)
AttributeError: 'NoneType' object has no attribute 'strip'
1 उत्तर
यहाँ त्रुटि के कुछ कारण और साथ ही उनके समाधान दिए गए हैं:
त्रुटि टोकन द्वारा कोई भी मान सेट करने के कारण होती है, जो
os.getenv('DISCORD_TOKEN')
चर के मौजूद नहीं होने या मौजूद होने पर लौटाता है और इसका मान कोई नहीं है। सुनिश्चित करें कि आपकी फ़ाइल .env उसी निर्देशिका में स्थित है जिसमें py फ़ाइल है। सुनिश्चित करें कि यह .env बनाया गया है, और .txt फ़ाइल नहीं है।टोकन मान लोड करते समय विफलता के कारण यह त्रुटि उत्पन्न हो सकती है। इसे इस तरह लिखने का प्रयास करें (यह शायद आपकी मदद करेगा):
from dotenv import load_dotenv
load_dotenv('---.env')
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
os.getenv('DISCORD_TOKEN')