19:47

Я котика передамажил. Может дело в тебе?
В общем на сегодня-завтра надо накидать примерный план как бестдил реализовывать.
Вопрос даже не в том как код писать, а в том что там вообще должно быть у пользователя. Уже потом по этим хотелкам (они у меня в ТЗ) код и строится.

Вот так вот выглядит написание кода в самом начале.

image

А это я в парке сфоткал пока отдыхал.

image

13:54

Я котика передамажил. Может дело в тебе?
Пойду прогуляюсь. А то свихнусь скоро от этого кода.

Он за меня остаётся.

image

20:08

Я котика передамажил. Может дело в тебе?
Наконец-то БД запустил и сумел извлечь и вставить в код в нужном месте данные через БД.
Надо будет про ORM глянуть но пока что БД мне больше нравится. Возможно потому что более-менее разобрался с SQL. А с ORM надо снова сидеть будет.

14:34

Я котика передамажил. Может дело в тебе?
Не пойму разницы между ORM и БД.
5-дневный перерыв и обратным хватом чуть растяжение не заработал. Прямым хоть нормально.

14:30

Я котика передамажил. Может дело в тебе?
-А как лазанья?
-Тому вроде нравится. Но он похоже давно нормальной еды не ел.
-А что бы Вы мне посоветовали?
-Я бы посоветовал китайский ресторанчик за углом.

к/ф Няньки.

16:33

Я котика передамажил. Может дело в тебе?
Всё ещё сижу с невозможностью выцепить переменную. Я бы использовал ретёрн и именно на это был первоначальный расчёт, но тогда требует заполнять поле параметра в функции. Перепробовал что только можно. Пробовал поиграться с локальными и глобальными, не получилось. Была идея с замыканием, но по-моему тоже не выгорит.

Кажись дозрел до БД. Другого способа выцеплять из функций эти переменные просто не вижу. Там такая каша сейчас в коде, не выдавало в текст то что надо, час потратил чтобы понять в чём дело, из-за этих сраных переменных уже стал забывать что в коде как делает. Ещё надо учитывать особенность работы библиотеки, она свои нюансы вносит.

При названии БАЗА ДАННЫХ сразу в голове возникает образ больших серверных заставленных стройными рядами ящиков с серверами. Тихий, равномерный гул вентиляторов. Оказалось БД может на компе быть в одном файле. Не знаю сколько из бд так работает, в основном все гайды с SQLite. Он кстати локализован. А вот MySQL нет.
Работа с БД такая успокаивающая. Главное запрос правильно написать и вот таблица заполнена. Они мне напоминают интерфейсы из 90-х и нулевых. Белый фон таблицы, в которой зернистые цифры и буковки.

11:47

Я котика передамажил. Может дело в тебе?
Зашёл в тупик.
Нужно как-то сохранять переменные и использовать их в коде. В гайдах их объявляют глобальными. В чате тоже сказали так делали (видимо раньше) но сейчас в ТЗ прямо запрещают их.

15:56

Я котика передамажил. Может дело в тебе?
Хоть и ощущаю, что желчь не оставляет в покое, но уже дальше нельзя забивать на тренировки.
11 подтягиваний прямым хватом. Даже перерыв в 5 дней не ослабил.

Решил не морочиться с кодом. Чувак который работает прямо говорит это. Сейчас изучаю метод который сохраняет данные. Это нужно для бестдила т.к. там нужно собрать данные о цене и дальности от центра. Ну и для даты заезда/выезда (это чисто декоративная опция т.к. на рапидапи нет такой функции, там вообще обновление данных было 3 месяца назад). Эта инфа собирается и в хистори коллекционируется. Можно полюбопытствовать сколько и чего ты запрашивал.

Как меня достали ребусы в "помощи". Хотят значит поизгаляться? Ну так я причешу против шерсти.

08:10

Я котика передамажил. Может дело в тебе?






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

Прикрутил к разным кнопкам вывод списка с минимальным ценником и с максимальным.
Как обычно без чертовщины не обошлось. Не хотело работать ничерта. Только потом увидел что у меня дублируется на самом верху калбек функция. Я её туда запихнул вчера, когда код почему-то не хотел работать. Потом, после того как сначала вернул на строку, а потом снова перенёс, заработал. При копировании какие-то невидимые пробелы остаются. Я тогда подумал, что нужно как-то распределять хендлеры и калбеки и больше одного хендлера быть не может. Оказалось это глюки.
Осталось придумать фильтрацию для бестдила, предусмотреть ошибки(это судя по всему будет нелегко), сделать логирование (как с ним работать вообще не знаю), раскидать всё по папкам и можно отправлять заявку на сдачу дипломного.
Кода, кстати, очень мало пока. Всего 150 строк без документации.

Интересно. Оказывается есть разные версии фильма "Три плюс два". Небольшие изменения. К примеру когда мужчины закурили после разговора в одной версии Сундуков говорит "Ну!", а когда Миронов не перестал он добавляет "Тебе говорю." В другой версии Миронова толкают под руку и он просто роняет окурок. Ещё в первой версии девушки представляют какие профессии у мужчин. Во второй этого нет вообще.


Получил ответ от сапорта. Естественно "чат не наш". Кто б сомневался. Только вот они спамят нонстоп в общем чате.
Меня повесилили "угрозы". Господи, да я могу вообще всё сикось-наскось сделать и на любую претензию скажу, что бот выполняет по ТЗ, остальное никого не должно ебать. Ну и диплом никому особо не нужен. Все делают исключительно для портфолио.
Я лично ни за что не поверю, что эти мудаки добровольно чат заделают и уж тем более будут отвечать. Они там ТАААК через губу общаются со студентами, что только полный дебил поверит в их альтруизм.

15:39

Я котика передамажил. Может дело в тебе?
Эти уроды из чата меня выбесили.
Задал вопрос. Мне начали втирать, что не так код расположен. Спокойно ответил, что потом поправлю и вопрос вообще в другом. Но человеку вожжа под хвост попала и начал докапываться, что всё же код некрасиво написан. Прямым текстом сказал что это не его дело и если не хочет по существу моего вопроса ответить, может идти дальше. У того бомбануло и начал прямо угрожать что будет валить на диплмонике.
Приперся модератор и стал мне угрожать. Я высказал, что пусть за другими следит. Прилетел бан.
Написал в техподдержку. Если это "типа" левый чат. Пусть тогда блочат его раз он создан чтобы глумиться над студентами. Но так просто не оставлю. Их дедовщина лично меня давно достала и бороться с нею надо, потому что за курс уплачены немалые деньги, так пусть его ограждают от закомплексованных дегенератов.

п.с. С тупыми советами кроме этого "новенького" перестали лезть хотя там сидела толпа "помогаторов". Это лучше чем их "советы тупорезов" читать. Тем более что они этим делают вид что ответ получен и кто действительно мог бы помочь пройдёт мимо.


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

Звонят с работы. Не беру трубку. Для себя уже решил, что не вернусь туда.

Твою ж мать. Сделал проверку по типу и не срабатывает. Понять не могу, весь код облазил ломая голову. Решил проверить что же там прилетает. Прилетает оказывается флоат, а я проверку на инт сделал. Невнимательность пздц.
К сожалению с этим кодом нельзя сортировать если у отеля не указана цена. Их приходится выкидывать. Думаю как бы это обойти. В чате потока чувак который уже работает советую всё проще делать и быстрее на джанго уходить чтобы закончить учебу и на работу.

01:16

Я котика передамажил. Может дело в тебе?
Задолбался с этой фильтровкой. С ней вообще всегда проблемы.
Словари не отфильтровать, надо в список переводить. Чтобы удобнее было сделал вложенные. Их сортировать тоже свои особенности. Никак не мог понять почему ошибка при извлечении нужного значния в словаре, оказалось я неправильно заменил один из ключей и снова ошибку и снова не тот ключ заменил и в третий раз тоже самое, как чёрт под руку толкал. Начал выводить и час голову ломал как пока наконец не вспомнил, что не надо ни с какими джойнами извращаться, можно через индексы обратиться. Потом час не мог понять почему ошибку выдаёт, оказалось я не тот метод подставил.
Словно реально какая-то нечистая сила мешает.

Зато срезы вспомнил, очень удобная штука.
При выводе фоток видимо придётся регулярки применять. Удобные, но я не до конца их понял. Там в коде размер заменён фигурными скобками внутри которых написано size, это надо убирать и заменять буквой которая размер означает, естественно автоматически.
Бардака в коде прибавилось. Это как у гениального инженера в фильмах у которого кучи мятых набросков на столе и всё забрызгано чернилами.

Ещё нихрена не понятно как бестдил реализовывать. Пользователь вводит расстояние по которому фильтровать? А потом фильтровать уже по цене?
Зато нашёл ресурс со смайликами (украсить сообщение об отеле, о сайте о цене и т.д.), чтобы текст в телеге не выглядел таким унылым.

Вспомнился видос дипломников по джаве. У них там и фронт есть. Причём говорят его практически не освещают. Вот им там "весело", надо полноценно реализовывать то что не проходил практически.

10:30

Я котика передамажил. Может дело в тебе?
Вот такой вот тотальный бардак сейчас.
Бот может отправить в чат по команде старт группу кнопок. Из них работает только лоупрайс, и то там пока никаких фильтров. После этого появляется приглашение "Введите город" и без всяких фильтров выкидывает список из центрального района города. Там оказывается разбивка бывает на основную часть и районы. К примеру в дефолтном Нью-Йорке основная часть и несколько других вроде лонг-айленда, манхеттена и других. Но так не везде. В некоторых городах в общей куче даже пригороды.

Как работает многопользовательский режим так и не понял (точнее это нигде не объясняется). Насколько понял нельзя использовать глобальные переменные, чтобы он мог осуществляться. Всё через функции.

Сортировать словарь оказывается нельзя. А они основа джейсона, причем особо извращённая с многоуровневой вложенностью.

image

1



05:57

Я котика передамажил. Может дело в тебе?
Дипломник движется.
Пришлось два часа потратить чтобы узнать как метод словарей get работает с вложенными. Это почти не освещается, а там свои нюансы.
Ломал голову как пользователю догадаться меню вызывать если у него уже стена текста. Сделаю постоянную кнопку с выводом меню под окном ввода.
Это всё пока планы. В коде сейчас тотальный бардак. Нужно всё по папкам раскидать, а у меня даже тот минимум что есть весь в одной папке. И ещё куча папок с кусками кода для тестов.

п.с. В Финке какие-то дикие цены в гостиницах. В Нью-Йорке который считается дорогим городом намного дешевле.

Странно. Часть названий на кирилице рапидапи распознаёт, часть нет. Придётся подключать транслитерацию, не лазить же в переводчик каждый раз чтобы ввести название.

Надо как-то прикрутить к нажатию на репли кнопку вызов меню. Как это сделать не понял. Пока саму репли клаву заделаю.

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

17:05

Я котика передамажил. Может дело в тебе?
Что за нах?!!!!



09:16

Я котика передамажил. Может дело в тебе?
Какие ж говнари в чате по дипломнику.
Со мной у них кажется особые счёты, ни разу не ответили. Да и по учебе тоже отвечали на отъебись, хотя видел как с некоторыми по полчаса сидели и всё разъясняли.

09:17

Я котика передамажил. Может дело в тебе?
Английским никак плотно не займусь. По 5 минут это мало. Но дипломник полностью занимает.

Тэк-с.
С RapidAPI вроде разобрался и даже начал получать нужные данные. Пока правда в коде, без вывода в телегу. И пока только отель по городу. Надо ещё прикрутить цену, удалённость от центра, ещё возможно достопримечательности. И пока только весь список, который надо сортировать и выводить только нужное количество.
Не пойму как страны устанавливать. Там есть поле, но в него код типа ru-Ru надо вписывать, не будет же пользователь такое писать, а какая библиотека эти коды выдаёт я хз. Можно и без этого, но есть дубли в разных странах (в США куча Афин и Санкт-Петербургов). И с фотками тоже загвозка. То что есть это одна фотка. А в чужих дипломниках вижу минимум по две. Ещё календарь надо.

Программа минимум на будущее по дипломнику: вывести 10 отелей с минимальной ценой и насколько удалены от центра.

Глянул чужой дипломник. Там всё на классах. Притом у меня пока что одни функции и зачем классы делать не пойму. Только в логировании разве и то там можно словарь запихивать как по мне.
Посмотрим по ходу дела.

11:34

Я котика передамажил. Может дело в тебе?



Надо запомнить.
json превращается в dict с помощью load.
строку превращается в dict c помощью loads.

dict превращается в json с помощью dump.
dict превращается в cтрока с помощью dumps.

09:44

Я котика передамажил. Может дело в тебе?



Сегодня получше себя чувствую. Вчера так плохо стало, думал уже приехали за мной рачьи сани (кто не понял выражения, прочтите хроники Сиалы)

Да твою мать. Пришлось врубить электропушку, уже минут 15 молотит и до сих пор холодно вокруг. Солнца нет и дома дубак.

Хотел сегодня по парку погулять. В итоге сижу у обогревателя.

Гречневые хлопья классная вещь. Разогрел молоко в микроволновке, насыпал этих хлопьев и через несколько минут у тебя гречневая молочная каша безо всякой варки

Опять паническая атака. Команда из ТЗ запустил бота и он не останавливался. Более того не было видно в интерпетаторе что тот запущен. Запуск оказывается идёт в отдельном потоке, для остановки нужно жать комбинацию клавиш.

10:04

Я котика передамажил. Может дело в тебе?
Первые шаги в дипломе сделаны. Бот есть, может сказать привет на две команды.




Нихрена не пойму в чём такой прикол линукса.

Честно сказать чего делать в дипломном с этим радапи ничерта непонятно. Документация на английском, но даже перевод не помогает. Там написано таким техническим языком, каким обычно пишут те кто это сделал и он описывает понятным ему языком. Но это не значит что этот язык понятен другим, да даже если знать термины всё одно непонятно.

01:34

Я котика передамажил. Может дело в тебе?
Скоро лето, на улице +6 температура.
Я хренею. Сижу закутавшись в плед.

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

Прямым хватом уже 11 раз. Обратным пока никак, то одно навалится выбивая из колеи, то другое. А уж про широкий вообще молчу, там обычно самые неразвитые мышцы.