Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

TypeError: token must be of type str, not NoneType

I’m trying to make a Discord bot with python but I get this error when I run it:

TypeError: token must be of type str, not NoneType

If you want to see my code, here is it:

import discord
import os
import random
from dotenv import load_dotenv

load_dotenv()

client = discord.Bot()
token = os.getenv('MTAwNjA1NTQ4NTg3MjUzNzcwMQ.GcPn03.xeIRE4c1W0OF8aNtkA4hj1Nl2V6mowLV1BqWuU')

@client.event
async def on_ready():
    print("Logged in as a bot {0.user}".format(client))

@client.event
async def on_message(message):
    username = str(message.author).split("#")[0]
    channel = str(message.channel.name)
    user_message = str(message.content)

    print(f'Message {user_message} by {username} on {channel}')

    if message.author == client.user:
        return

    if channel == "random":
        if user_message.lower() == "hello" or user_message.lower() == "hi":
            await message.channel.send(f'Hello {username}')
            return
        elif user_message.lower() == "bye":
            await message.channel.send(f'Bye {username}')
        elif user_message.lower() == "tell me a joke":
            jokes = [" Can someone please shed more\
            light on how my lamp got stolen?",
                    "Why is she called llene? She\
                    stands on equal legs.",
                    "What do you call a gazelle in a \
                    lions territory? Denzel."]
            await message.channel.send(random.choice(jokes))

client.run(token)

My bot token is fake because I don’t want anyone know it’s token. Please help me solve this problem. Thank you so much!

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

if your discord bot is hosted locally, without needing to be shared publicly or hosted online, you may simply set token variable directly to the string of your token.

token = 'MTAwNjA1NTQ4NTg3MjUzNzcwMQ.GcPn03.xeIRE4c1W0OF8aNtkA4hj1Nl2V6mowLV1BqWuU'

If you would like to make use of environment variables to keep your bot token secure, (usually when you would like to run your discord bot online), the argument passed into os.getenv() should be the key which you set in the environment variables.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading