• Почему так популярны телеграм боты?

    Griboks
    @Griboks
    каждый 5-ый вопрос связан с Телеграм-ботом, и каждый 10-ый автор не знает основ языка

    Потому что большинство разработчиков ботов тупые. Как правило они посмотрели 10 видео на ютубе, поверили в себя и пошли во фриланс. На фрилансе заказчики тоже тупые. Вот и получается, что неумеющие гуглить люди заказывают результаты поиска у неумеющих гуглить псевдоразработчиков.
    Ответ написан
    Комментировать
  • Почему так популярны телеграм боты?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ботов писать относительно просто, порог вхождения минимальный по сравнению с программированием под iOS и андроид, да и проще написания десктопных приложений с GUI, а в использовании боты проще, чем утилиты командной строки.
    Зато в результате может получиться довольно функцинальная штука. Легко настроить многоэтапную диалоговую коммуникацию с пользователем, получить для обработки изображения и фото, возвращать ссылки на скачивание результатов.

    Так вооот! Из-за этого невысокого порога вхождения развелось куча "курсов" программирования для чайников, которые первым упражнением, полезность которого удается легко показать ученикам, выбирают написание бота.
    И так у этих коуч-питонистов легко всё получается (ещё бы, надо де продать курс с первого бесплатного занятия), что у незадачливых школьников появляется неиллюзорная вера в себя и они бегут повторять увиденное на ютубе, а потом, когда, конечно же, то-то идёт не так как показано в видосе, они бегут сюда спрашивать как всё надо сделать, чтобы работало.

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Лучше так не делать. Во избежание ошибок и напрягов с чтением кода лучше именовать переменные более расширенно, не скупясь - например, function_range или range_int или my_range хотя бы…

    В конкретном случае скорее всего будет ошибка вроде «int object is not callable»
    Ответ написан
    Комментировать
  • Почему в random.choice() ошибка?

    ZIK1337
    @ZIK1337
    странно видеть такой вопрос
    потому что этот метод принимает на вход последовательность, а не мапу
    Ответ написан
    Комментировать
  • Где ошибка в программе?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Ошибки нет.
    if ost<=sum:
    Условие 678<=678 верно.
    Ответ написан
    Комментировать
  • Как проверить в JSON наличие определенного поля?

    Vindicar
    @Vindicar
    RTFM!
    Элементарная работа со списками и словарями. Азы языка.
    Парсишь строку JSON в объект (назовем его json_obj) через json.load() или json.loads(), смотря что удобнее.
    У тебя объект верхнего уровня - массив, т.е. список. Перебираешь его элементы циклом for item in json_obj.
    Объекты следующего уровня - просто объекты, т.е. словари. Если надо проверить именно наличие поля, безотносительно его значения, то просто 'slot' in item.
    Всё.
    Ответ написан
    2 комментария
  • Как правильнее записать код определения какую inline кнопку нажал пользователь?

    @twistfire92
    Python backend developer
    Лагать не будет. Мне кажется даже с обходом 1000 кнопок вы не увидете задержек.
    Проблема в самом подходе.
    Первое - вытаскивать все имена из БД чтобы потом посчитать сколько их было - ну такое себе. Гуглим SQL COUNT
    Второе - если из строки task.8 нужно вытащить 8, то это проще сделать через split
    call.data.split('.')[1]
    И никакие циклы там не нужны (в данном случае и запрос в БД тоже не нужен).

    Подучите больше основ чтобы не выполнять лишних действий.
    Ответ написан
    1 комментарий
  • Как сделать кнопку назад в telebot?

    rosh1k
    @rosh1k
    python - не более
    1) Cоздать отдельный файл и там прописать все кнопки , чтобы можно было так сделать
    2) Создать кнопку "Назад" , и выводить что то типо этого:
    await bot.send_message(message.from_user.id, "✅Вы успешно вернулись назад", reply_markup = имя файла ( без расширения ).название меню)

    Не забудьте импортировать файл в основной код.
    На моем примере выглядит это как то так:
    reply_markup = nav.mainMenu Где nav - название файла , mainMenu - название меню
    Ответ написан
    3 комментария
  • Какой компьютер выбрать для программирования?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    В вопросе есть слово "программирование", а в тексте то и дело "игровой". Для программирования любой ноут подойдет, достаточно поставить ssd и будет летать, я так недавно оживил ноут которому уже 10 лет.
    А ты просто ищешь причину купить игровой комп.
    Ответ написан
  • Python как добавить 3 часа к времени?

    Maksim_64
    @Maksim_64
    Data Analyst
    вы должны использовать объект timedelta.
    import datetime
    print((datetime.datetime.now() + datetime.timedelta(hours=3)).strftime("%d.%m.%Y %H:%M:%S"))
    Ответ написан
    Комментировать
  • Как добить проект?

    @12rbah
    Народ тут такое, делаю стартап и каждый раз когда я хочу показать его действия, то проект не работает, и так всегда. Это длится почти год.
    Если у вас что-то не работает касательно технической части, то тут проблема в тестировании и подготовке версии для показа. В общем суть в том, что нужно серьезнее подходить к отладке проекта. Возможно есть такая проблема, что вы готовите версию для показа, в последний момент или за пару дней вносите изменение, которое плохо тестируете и вместо старой версии показываете новую, при таком подходе у вакс постоянно будут всплывать баги или еще такой вариант, у вас где-то костыльно обрабатываются ошибки, потому что "есть более важные задачи" а при показе это выглядит плохо и портит впечатление.
    И всё таки желательно сказать какие именно у вас проблемы, т.к. тяжел что-то советовать когда причины абстрактно описаны.
    Ответ написан
    3 комментария
  • Как добить проект?

    GavriKos
    @GavriKos
    Ну чет как то информации мало...

    Не работает проект - т.е. ошибки в разрабатываемом софте? Это решается правильной организацией работы. Начиная от отдела тестирования и заканчивая TDD каким нить например.

    Вообще есть разные варианты решений, но какой вам подойдет знаете только вы. Например, есть стабилизационные спринты. Есть регрессионное тестирование. Нужно так же отталкиваться от целей - если вам нужен работающий продукт - заморозьте все остальное и делайте то что приблизит вас к цели.
    Ответ написан
    Комментировать
  • Система учета в небольшой компании. Коробка или под заказ?

    fosihas
    @fosihas
    Автоматизации учета на 1С.
    незнаещь что начни с банальной 1С))
    УФН вам в помошь)
    Ответ написан
    Комментировать
  • Какой фреймворк выбрать для создания многостраничного сайта?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Не нравится мне ваш подход.
    Сайт создается с определенными целями
    их нужно обозначить,
    Дальше на основе имеющихся специалистов выбрать нужные технологии
    Дальше подобрать набор утилит
    И потом просто реализовать этот проект
    Ответ написан
    7 комментариев
  • Как распарсить стили сообщения в Telegram Bot?

    @edvardpotter
    Возможно вообще не с того начали решать проблему, попробуйте метод editMessageReplyMarkup

    Тогда не нужно будет заново отправлять текст сообщения.
    Ответ написан
    Комментировать
  • Есть База 1С нужно ее подключить к сайту как это сделать?

    @Dementor
    программист, архитектор, аналитик
    Мне дали базу данных на с1 можно ее сделать формата excel

    1. Запускаете базу 1С
    2. Открываете справочник товаров
    3. С помощью "настроить список..." делаете сортировки, группировки, а так же видимость колонок так, как вам нужно.
    4. С помощью "выгрузить список..." сохраняете справочник в Excel.

    Нужно подкрепить к карточке товара наличие, код, цену(обычную), цену(оптовую от 100)

    Базы 1С очень разные. В некоторых сразу в списке товаров есть вся нужная информация, а в некоторых нужно запускать дополнительные отчеты по остаткам и ценам. Данные отчетов тоже можно вывести в Excel, а потом с помощью ВПР() сделать единую табличку в том виде, как вы хотите.

    Есть База С1 нужно ее подключить к сайту как это сделать?
    Пока не понимаю как сделать и нормальных гайдов годов 2020-2022 нету есть какие то современные и хорошие решения?

    1. Технологии 1С8 уже скоро будет 20 лет, за которые в плане интеграции с сайтами она не менялась. Так что вам подойдут и гайды 2018, и 2012 и даже 2008.
    2. Весь вопрос выглядит как "Я слышал, что из досок делают мебель. Мне нужен встроенный шкаф и у меня есть доски. Я перекладываю доски, но шкаф не получается. Дайте гайд как сделать качественный шкаф".
    2.1. Т.е. что за доски, какое у них качество? что за шкаф и какая у него спецификация? Если бы вы говорили, конкретно, что у вас "1С:УНФ" и сайт "Битрикс управление сайтом", то это стандартный обмен и полно инструкций. Если сайт в 1С:UMI, то там все еще намного проще и настраивается прямо из УНФ буквально кликая "Далее-Далее". Пишите поисковый запрос "Интеграция <название базы 1с> с сайтом <название сайт>" - сразу пойдут результаты выдачи.
    2.2. Если из досок нужен какой-то нестандартный шкаф с красивой резьбой, то есть мануали и по обработке досок, и по креплениям, и по резьбе, и по лакировке... Но нет и никогда не будет одного единого мануала по превращению досок в нужный именно вам шкаф! Или вызывайте столяра, или сами отправляйтесь на курсы столярного дела (неизвестно что дешевле и найм мастера точно качественнее и быстрее). С 1С и сайтом - аналогично. Нестандартная база 1С и/или нестандартный сайт и/или нестандартные требования к обмену - нужно вызывать специалиста, который имеет опыт в таких работах.
    Ответ написан
    4 комментария
  • Не выполгяется последняя часть кода @bot.callback_query_handler(func=lambda call:True) def callback2(call): почему и как исправить?

    Vindicar
    @Vindicar
    RTFM!
    @bot.callback_query_handler(func=lambda call:True)
    func говорит боту, когда вызывать обработчик. Бот вызывает только ОДИН обработчик (первый подходящий).
    func=lambda call:True означает, что обработчик должен вызываться для ВСЕХ кнопок.
    Научись различать обработчики по call.data. Например, пусть у одной группы кнопок data начинается с "foo.", а у другой - с "bar.".
    item = types.InlineKeyboardButton('4', callback_data='foo.question1')
    item2 = types.InlineKeyboardButton('3', callback_data='foo.question2')

    gotov = types.InlineKeyboardButton('Готов', callback_data='bar.gotov')

    Тогда ты сможешь прописать два обработчика:
    @bot.callback_query_handler(func=lambda call:call.data.startswith('foo.'))

    и
    @bot.callback_query_handler(func=lambda call:call.data.startswith('bar.'))


    Разумеется, вместо foo и bar можно придумать свои префиксы, в том числе многоуровневые (типа callback_data='questions.q1.answer1').
    Ответ написан
    1 комментарий
  • Python Ошибка Traceback (most recent call last): Как исправить?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Ну у вас же все перед глазами, нужно включить немного щепотку логики. Вот через print выводите pages_count:
    print('Всего страниц пейджинации:', pages_count
    Результат видно в консоли. Проблема в том, несмотря на то, что четко видно, что список пустой, вы пытаетесь взять его нулевой элемент:
    for url in range(int(pages_count[0])):
    Решение - проверять список, перед тем как делать это.
    Ответ написан
    Комментировать
  • В чем ошибка IndentationError: expected an indented block after 'for' statement?

    drygdryg
    @drygdryg
    Python-разработчик
    Нужен отступ в следующей строке после объявления цикла for:
    ...
    for member in guild.members:#цикл, обрабатывающий список участников
        cursor.execute(f"SELECT id FROM users where id={member.id}")#проверка, существует ли участник в БД
        if cursor.fetchone()==None:#Если не существует
    ...
    Ответ написан
    Комментировать
  • Для первой работы изучать общий или нишевый язык?

    xez
    @xez
    TL Junior Roo
    Изучайте то, что вам нравится.
    Ответ написан
    Комментировать