Задать вопрос
  • Что делать если функция не видит атрибут?

    Vindicar
    @Vindicar
    RTFM!
    Включи голову и подумай.
    if ai.SeparateByName(ai.text) is True:
        response = f'my name {ai.name}'
    ai.TextToSpeech(response)

    Если условие не выполнится, переменная response не будет определена. Нужно или дать ей альтернативное значение в ветке else, или дать значение по умолчанию до if. Ну или внести вызов TextToSpeech() внутрь if.

    Аналогично, ты определяешь атрибут ChatAI.text только в методе SpeechToText(), и только если распознавание прошло успешно. Если первая запись голоса или первое распознавание прошли неудачно, атрибут text определён не будет. В случае вторых и последующих - он сохранит своё прежнее значение, и ты не сможешь понять, это пользователь дважды повторил одно и то же, или бот тупит.
    Тебе нужно или определить ему какое-то значение по умолчанию в __init__(), или, что лучше, вообще не использовать атрибут, а возвращать это значение из метода через return.
    Ответ написан
    Комментировать
  • Что такое Docker простыми словами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что такое Docker простыми словами

    простыми словами

    Если совсем прям простыми, то - это некая легковесная оболочка, которая способна изолировать приложение внутри себя от внешнего мира. Очень похож (по логике) на системы виртуализации VMware, VirtualBox, Parallels итп, но сам не является им.

    Возможности:

    - Контейнеризация: Docker позволяет паковать приложения вместе со всеми их зависимостями в контейнеры, обеспечивая тем самым их независимость от конкретной инфраструктуры.
    - Переносимость: Контейнеры Docker могут быть запущены на любом компьютере, который поддерживает Docker, независимо от операционной системы. Это делает распространение и развертывание приложений намного проще.
    - Изоляция ресурсов: Каждый контейнер Docker работает в изолированной среде и не влияет на другие контейнеры или хостовую систему.
    - Слоистая файловая система: Docker использует слоистую файловую систему для хранения данных, что позволяет существенно экономить дисковое пространство и упрощает обновление и распространение контейнеров.
    - Сетевые возможности: Docker позволяет настраивать сетевые параметры каждого контейнера, что позволяет создавать сложные многокомпонентные приложения.
    - Docker Hub: Docker Hub – это репозиторий, где можно хранить и делиться контейнерами. Это облегчает развертывание и распространение приложений.
    - Docker Compose: Это инструмент для определения и запуска многоконтейнерных - Docker-приложений. С помощью Compose вы можете использовать файл YAML для конфигурации служб вашего приложения, а затем с помощью одной команды создать и запустить все службы.
    - Docker Swarm: Docker Swarm предоставляет нативные возможности Docker для оркестрации и масштабирования кластера Docker.
    Ответ написан
    Комментировать
  • С чего начать практику администрирования без скучных книг?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Работа в ИТ предполагает очень много чтения, а оно вам быстро надоедает. Зачем вы пытаетесь заниматься тем, в чëм успеха добиться не сможете?
    Ответ написан
  • Как правильно вывести массив из бд и перебрать его?

    Mi11er
    @Mi11er
    A human...
    Вопрос конечно детский
    У вас в массиве лежит объект , в объекте ключи и значения

    Значит первая итерация , по объектам
    Вторая уже по ключам.

    Код напишите сами.
    Ответ написан
    Комментировать
  • Берут ли на работу в IT с психическим расстройством?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В админы надо идти, там паранойя и обсессии даже полезны. Пока себя не загонишь.
    Ответ написан
    Комментировать
  • Уход во время испытательного срока, нормально ли это?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нормально уходить с испытательного срока, если что-то не понравилось. Испытательный ведь не только для сотрудника, но и для компании. Однако, уход из-за того, что появилось более интересное предложение - это сомнительный с позиции морали и профессиональной этики поступок. Кроме того, не рекомендую прыгать в первые пару-тройку лет работы. Особенно не стоит спрыгивать с первого места работы.
    Ответ написан
    5 комментариев
  • Смотрят ли на оценки в дипломе при устройстве на работу?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Даже на наличие диплома редко смотрят, внутрь вообще никто никогда не заглядывает.
    Ответ написан
    Комментировать
  • Как правильно просить повышения зарплаты?

    Нет желания блефовать увольнением и жирным оффером из другой компании, так как текущая меня более чем устраивает, да и на данный момент опасно угрожать уходом начальству, так как it пузырь уже сдулся

    Ну так а вы не блефуйте, а действительно получите оффер и говорите по существу. Разумеется уважающий себя разработчик не будет махать выдуманным оффером - он реально его получит и будет открыто говорить с текущим работодателем. При этом разумно скинуть какой-то процент от зарплаты в оффере, ну мол "я готов получать тут чуть меньше, т.к. я тоже не хочу менять сейчас работу". Вот и вся история. Либо признайтесь себе, что у вас и так всё неплохо и вам платят подходящие деньги. Перейдите от теории к действию.
    Ответ написан
    Комментировать
  • Какой список тем нужно знать в django, чтобы можно было претендовть на позицию junior?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    1. Умение искать информацию самостоятельно
    2. То, что написано в десятках других ответов на этом ресурсе
    Ответ написан
    Комментировать
  • Первое предложение о работе, как поступить?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Джуны и в лучшие времена были не нужны, а теперь тем более. Поэтому хвататься надо за любую возможность, а потом сжав зубы получать свой первый год непрерывного опыта, с которым будет проще потом устраиваться.
    Ответ написан
    1 комментарий
  • Как исправить ошибку с кавычками в sqlite3?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    ('INSERT INTO messages (message_text) VALUES (?)',(message_text,))
    Ответ написан
    Комментировать
  • Имя 'user_id' не определенно, что делать?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Микропетпроджект - домашнее облако homeCloud
    Тут какая то порнография с отступами, методами и их параметрами.

    def process_shot(user_id):
        global cur, con
        return True
        return False
    success_rate = get_upgraded_success_rate(user_id)


    Это вот вообще как? Зачем? Метод то закончился, откуда user_id возьмется
    Ответ написан
    Комментировать
  • Как исправить ошибку в этом коде?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Вы не смогли перевести текст ошибки?
    64250a173e58f641881098.png
    Ответ написан
    Комментировать
  • IndentationError: unexpected unindent, что делать?

    Vindicar
    @Vindicar
    RTFM!
    Почему ты открыл try, но не закрыл его блоком except или finally?
    Сначала учи язык, потом уже клепай ботов.
    Ответ написан
    Комментировать
  • Почему тип dict не изолируется внутри класса?

    Vindicar
    @Vindicar
    RTFM!
    class Interface:
        a = 1
        b = dict()
        c = []

    Ты описал класс с тремя атрибутами класса. Не экземпляра, а именно класса.
    Три атрибута экземпляра описываются как
    class Interface:
        def __init__(self):
            self.a = 1
            self.b = dict()
            self.c = []

    А если тебе нужен эквивалент интерфейсов, почитай про typing.Protocol.
    Ответ написан
    Комментировать
  • На сколько сложно утроиться джуном на позицию C++ dev?

    mayton2019
    @mayton2019
    Bigdata Engineer
    serhiops, скажу по себе что совмещать работу и учебу почти невозможно. Что-то одно ты потеряешь. Или сессию завалишь или на работе будешь уставать морально как чорт.

    Вообще учеба чем хороша. Нормальной жизнью студента. Где можно бухнуть. Где можно погулять со студентками.

    Погрузиться в нудоство взрослого мира ты всегда успеешь. Ну если деньги сильно надо - ну поработай курьером. Всяко лучше работа на воздухе.

    UPD: Тема окороков удалена. :) Мало-ли. Вдруг кто-то обидется. Щас время такое. Все обидчивые стали.
    Ответ написан
    7 комментариев
  • Бесплатный python хостинг?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Использование для своих корыстных не учебных целей сервисы вроде https://replit.com/ - это своего рода пробежка по граблям и нецелевое недобросовестное использование хорошего сервиса. Даже не буду вам рассказывать способы, которыми можно эксплуатировать уязвимости таких сервисов и преодолевать их ограничения. Считаю это неэтичным. Да и полно таких инструкций в сети, ищите сами, если хотите.

    Но я почитал ваши комментарии к другому ответу и вот что я вам скажу. Если ваш код работает на домашнем компе, а не работает на хостинге, это скорее всего проблема именно вашего кода и очень маловероятно, что это как-то связано с ограничениями хостинга.

    Часто код бывает не правильно написано в плане кроссплатформенности, использует какие-то глобально установленные библиотеки, которые вы забвли поставить на хочтинге, неправильно работает с кодировками или файловой системой.

    Для таких задач как ваша надо брать VDS. Подойдёт самая дешевая баксов за 5. А ещё у таких VDS есть бесплатный пробный период. Обычно это сутки, но я сталкивался и с недельными интервалами. Вот поищите https://poiskvps.ru/
    Там они не бесплантые, но есть тарифы с бесплатными пробными периодами. Однако, повторюсь, скорее всего не хостинг плохой, а ваш код косой.
    Ответ написан
    Комментировать
  • Почему все говорят что писать ботов это сложно?

    Vindicar
    @Vindicar
    RTFM!
    А сложность начинается, как только задачи, стоящие перед ботом, перерастают уровень примера в документации видеотуториале пятилетней давности.

    Нужно сделать несколько под-команд у команды. Напишу цепочку if-elif-else, делов то. Ой, а теперь простыня кода на пять экранов, в которой фиг чего найдёшь. Потому что нет привычки структурировать код.

    Нужно, чтобы несколько команд/событий формировали цепочку (сценарий). Например, пользователь отправил тре сообщения, первое с именем, второе с возрастом, третье с адресом. Ой, а как это сделать вообще? Не зная понятия "конечный автомат" (finite state machine, FSM), очень трудно догадаться, как тут поступить.

    Нужно, чтобы ботом могли пользоваться несколько человек. Ой, их данные перепутались! Потому что бот использует глобальные переменные.

    Нужно, чтобы бот выполнил длительную задачу, и написал сообщение, когда она выполнится. Не вопрос, напишу функцию, вызову её, а сразу после отправлю сообщение. Ой, а бот не отвечает! Потому что рабочий цикл asyncio занят этой длительной операцией и не может отреагировать на поступающие данные. Нужно иметь хорошее представление о том, как работает асинхронная программа.

    Нужно добавить боту графический интерфейс - админку. Ой, а работает или интерфейс, или сам бот! Потому что нужно представлять, как устроено большинство GUI-фреймворков, и как устроена асинхронное приложение. А заодно понимать многопоточность, вопросы синхронизации действий между двумя потоками, и особенности работы с asyncio в многопоточных приложениях. Потому что одним потоком тут обойтись будет очень непросто.

    Нужно хранить данные в БД. Ой, а почему у меня проблемы при записи в БД имени пользователя? А потому что погромист собирает SQL-запрос через форматирование строк. Надо было почитать доки, чтобы наткнуться на prepared statements, они же parameterized queries.

    Нужно хранить данные в БД. Вот только данные имеют связи многие-ко-многим. Я знаю! Я буду просто добавлять или удалять столбцы в таблицу! Потому что не освоены даже азы проектирования БД. Тут уже nuff said. И да, я такое видел на этом сайте.

    Незнание средств языка и основных приемов построения алгоритмов и структур данных приводит к диким велосипедам, которые создают больше проблем, чем пользы. Особенно если к этому добавляется нежелание находить и читать документацию на фреймворк, на котором построен бот.
    Ответ написан
    2 комментария
  • Создал базу данных для рассылки сообщения.Всё без ошибок но рассылка почему то не доходит а в sqlite при рассылке юзеры стают неактивными.Что делать?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Исправлять отправку сообщений, что бы они все-таки отправлялись.
    Ответ написан
    Комментировать