@QweRez

Как сделать что бы font работал за пределами def crudconfig?

61553ef3cbe4a929773195.png
import valve.rcon
import discord
from discord.ext import commands
import configparser
import os 


address = ( "213.239.207.78", 33051 )
password = "11223344"

client = commands.Bot(command_prefix = '!')
@client.event

async def on_ready():
    print ('Bot connected')



@client.command() #название роли чувствительно к регистру
async def role(ctx, arg):
    def crudConfig(path):
        config = configparser.ConfigParser()
        config.read(path)
    
    # Меняем значения из конфиг. файла.
        config.set("Settings", "role", f"{arg}")
    
    # Вносим изменения в конфиг. файл.
        with open(path, "w") as config_file:
            config.write(config_file)
 
 
    if __name__ == "__main__":
        path = "settings.ini"
        crudConfig(path)


def crudConfig(path):
    config = configparser.ConfigParser()
    config.read(path)
    global font
    font = config.get("Settings", "font")

@client.command()
@commands.has_role(font)#название роли чувствительно к регистру
async def rcon(ctx):
        with valve.rcon.RCON(address, password) as rcon:
            response = rcon.execute('say negri pidorasi')<img src="https://habrastorage.org/webt/61/55/3e/61553ede3d64b820039136.png" alt="image"/>
            await ctx.send("Успешно")


client.run('')#токен бота дискорд
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Глобальную переменную надо объявить вне функции, в глобальном пространстве имен. А затем внутри функции указать, что она глобальная.

Но лучше явно передавать в функцию значение и возвращать из функции.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы