при компиляции у меня выходит ошибка об не существующей перемене

при компиляции у меня выходит ошибка об не существующей перемене, сообщает что не найдена переменная b(self) на 5 строке но у меня нет этой переменной

from kivy.app import App
from kivy.uix.button import Button
from kivy.config import Config
from kivy.uix.textinput import TextInput

from kivy.uix.scatter import Scatter
from kivy.uix.textinput import TextInput
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window


from pyrogram import Client, filters
from pyrogram.errors import FloodWait

from pyrogram.types import ChatPermissions

Window.clearcolor = (1, 1, 1, 1)    # установка цвета нового фона
#Config.set("graphics", "relizeble", "0")# ---\
#Config.set("graphics", "width", "400")   #    \ высота и ширина экрана, изменять его потом нельзя
#Config.set("graphics", "heigth", "600")#------/

api_hash = "" # переменная для будующих данных
api_id = "" # переменная для будующих данных
class MyApp(App):
        def build(self):

            fl = AnchorLayout() # этот лаяут будет делать ПО динамическим

            bl = BoxLayout(orientation = "vertical", size_hint = (.5, .5))# тоже лаяут но создает боксы

            self.test = TextInput(text = "                          api_id", font_size=25, background_color=[9, 9, 9, 9])# Этот лаяут как input для получения данных от пользователя
            self.text_input1 = TextInput(text = "                       api_hash", font_size=25, background_color=[9, 9, 9, 9])# Этот лаяут как input для получения данных от пользователя

            bl.add_widget(self.test)  # создаю Text_input через BoxLayout
            bl.add_widget(self.text_input1)# создаю Text_input через BoxLayout


            bl.add_widget(Button(       # создаю кнопkу через BoxLayout
                text = "подтвердить",
                font_size=25,  # font_size рaзмер шрифта
                on_press=self.btn_press,  # on_press нажата
                background_color=[1, 1, 1, 1]  # background_color цвет RGBA в %
                #background_normal="", # background_normal  делает цвет ярче
            ))



            fl.add_widget(bl) # отношу BoxLayout к fl
            #s = Scatter()
            #s.add_widget(fl)
            return fl # возращаю fl


        def btn_press(self):
            global api_id           #глобальная переменная
            global api_hash             #глобальная переменная
            print(self.text_input.text)         #вывожу данные из Text_input
            print(self.text_input1.text)#

            api_id= self.text_input.text1#

            api_hash=self.text_input1.text1#

#app = Client("00ef8b3beaab981d8661a5e596123447", api_id = api_id, api_hash= api_hash)#
#@app.on_message(filters.text & filters.private)#
#def echo(client, message):#
#    message.reply_text(message.text)#


if __name__ == "__main__":#
    MyApp().run()#

    #app.run()#

сама ошибка при компиляции

Traceback (most recent call last):
  File "C:\Users\lapto\OneDrive\Рабочий стол\ffff.py", line 5, in <module>
    b(self)
NameError: name 'self' is not defined

Process finished with exit code 1

Ответы (0 шт):