Си шарп видео уроки

Формула программиста

основатель — Волосатов Евгений Витольдович

SOFT: API Telegram

Что ты получишь, пройдя этот курс:
⦁    Умение работать с API функциями и с Json форматом
⦁    Инструменты для работы с API функциями Telegram
⦁    Собственный Бот для автоматизации рутинных процессов
⦁    Возможность получать прибыль (как? мы расскажем!)

Запишись на курс чтобы открыть бесплатно первые уроки.

SOFT: API Telegram

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 5000 p.


Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 Здесь Ботов раздают? 00:16:37
26 чел. ★ 4.9 Done
  Вводный урок, на котором мы познакомимся с системой и создадим собственного Бота, что бы в последствии использовать эти данные для автоматизации Бота.

*Задание: написать несколько примеров использования Бота для Телеграмма
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 25 мин. [Показать отчёт]
Научился: Узнал про API. Создал бота 
Сложности: Ничего 
Комментарии: Пока нет замечаний 
2 Осознание... 00:10:27
20 чел. ★ 5 Done
  Первое создание проекта, заполнение формы, установка констант.

*Задание: установить аватар для Бота

Отчёт отправил: 12223. Алексей Тупицын Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать бота. Настраивать его с помощью команд. 
Сложности: Почему-то не отображалась загруженная картинка. Минут 5 потратил на то, чтобы догадаться перезагрузить страницу 
Комментарии: Есть ли требования к разрешению и размерам лого? 
3 Начинаем кодить 00:16:35
18 чел. ★ 5 Done
  На уроке мы уже начинаем программировать, уже через нашу новую программу получаем данные, обновления и пр.

*Задание: получить номер последнего обновления – offset
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 30 мин. [Показать отчёт]
Научился: Научился получать информацию о боте 
Сложности: Так и не разобрался с offset 
Комментарии: Так и не разобрался с offset. Нашел в интернете варианты решения (прикладываю скриншот) 
4 Что такое Json?! 00:22:25
17 чел. ★ 5 Done
  Урок расскажет всё о Json, и использовании этой технологии в C#

*Задание: написать описания для класса сообщения.
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 50 мин. [Показать отчёт]
Научился: Узнал что такое JSON Научился услтанавливать JSON в Visual Studio Научился (с помощью онлайн сервиса) переводить код JSON в читаемый вид Научился присваивать описания к функциям 
Сложности: Ничего 
Комментарии: Подскажите, пожалуйста: 1. Что значит переменная date? У меня значение равно: 1488402145. Значение отображается время с начала некоторой точки отсчета? 2. Что значит переменная type в классе Entity? 
5 Вам телеграмма! 00:18:18
17 чел. ★ 5 Done
  Учим нашего Бота писать сообщения, а так же реагировать на наши сообщения.

*Вопрос: кто может в данный момент написать и получить ответ от Бота?
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 20 мин. [Показать отчёт]
Научился: Научил бота отвечать на запросы пользователей  
Сложности: Ничего 
Комментарии: Ответ на вопрос: Может писать любой человек, который знает имя бота 
6 Не хочу писать! 00:33:13
16 чел. ★ 5 Done
  Правильно! В Век Новых Технологий пользователь приучен тыкать по кнопках, а не писать самостоятельно, вот и мы на уроке начнем создавать кнопки.

*Задание: создать кнопочное меню, состоящее из месяцев
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 45 мин. [Показать отчёт]
Научился: Научился создавать кнопочное меню 
Сложности: Ничего 
Комментарии: Очень интересный урок. С кнопкам бот смотрится намного круче 
7 Волшебство начинается! 00:32:40
16 чел. ★ 4.9 Done
  Фантастика, в Телеграмме есть кнопки, которые умеют отправлять запрос, а не сообщение.
Как их создавать и как ими пользоваться, всё это и многое другое на уроке!

*Вопрос: как получить данные из ответа Бота, если ему отправить inline запрос?
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 45 мин. [Показать отчёт]
Научился: Научился создавать inline мeню 
Сложности: В итоге не очень понятно, зачем нужны inline кнопки? Только для того, чтобы было меньше сообщений? 
Комментарии: Полезный видеоурок. п.1. Основное отличие обычных кнопок и inline кнопок - это то, при нажатии на обычную кнопку, получаем сообщение и ждем результат. Inline кнопка - при нажатии кнопки отправляется сразу запрос (без сообщения) и сразу получаем результат п. 4. Видимо уже поздно и мозг не работает, но так и не догадался как получить данные из запроса 
8 По взмаху волшебной палочки! 00:23:38
15 чел. ★ 5 Done
  Управлять запросами это непросто, ну а как этим заниматься, рассмотрим на уроке.
Подсказочки тоже может быть пригодятся в последствии!

*Задание: сформировать inline меню названия месяцев, чтобы оно возвращало номер месяца.
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 55 мин. [Показать отчёт]
Научился: Научился получать данные из inline запроса 
Сложности: Т.к. пока только новичок в программировании, поэтому запутался в коде при выводе месяцев. Долго мучился с циклом 
Комментарии: Хорошие видеоурок 
9 Изменить неизменяемое 00:23:36
15 чел. ★ 5 Done
  Научимся менять уже отправленное сообщение, чтобы у пользователя возникло ощущение интерактива.

*Задание: на следующем уроке освоить технологию SQLite
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 45 мин. [Показать отчёт]
Научился: Научился изменять сообщения без публикации нового сообщения 
Сложности: Не мог долго найти ошибку. В итоге причина была в моей невнимательности 
Комментарии: В конце рассказывалось про то, что выскакивает ошибка 400, если не изменять сообщение. А как предотвратить данную ошибку? Или об этом будет в следующих уроках? 
10 SQLite: База MySQL в кармане 00:28:11
14 чел. ★ 5 Done
  Подключаемся к базе SQLIte через Visual Studio используя язык программирования C#
Если установить SQLite через NuGet, то установится необходимая версия библиотеки.

*Самостоятельное задание: сделать так, чтобы при нажатии кнопки Enter в DataGridView данные сохранялись в базу данных
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 50 мин. [Показать отчёт]
Научился: Научился подключать базу SQLite к Программе в Visual Studio 
Сложности: Решил изменить расположение базы. Постоянно выскакивала ошибка. Пришлось оставить как в уроке (в корне проекта) 
Комментарии: Полезный урок 
11 БД - Большое Дело! 00:20:29
14 чел. ★ 5 Done
  Планы - основа всех Баз Данных, будем планировать и создавать Базы Данных!

*Задание: заполнить остальные пункты Магазина.
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 25 мин. [Показать отчёт]
Научился: Создал и заполнил базу данных для будущего магазина 
Сложности: Ничего 
Комментарии: Можно добавить следующие столбцы: Объем, Вид напитка (горячий/холодный), Цвет 
12 Прикрутить БД 00:25:11
14 чел. ★ 5 Done
  Внедряем в проект SQLite, оптимизируем программу.

*Задание: добавить на форму DataGridView и отобразить данные из таблицы
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 55 мин. [Показать отчёт]
Научился: Узнал что такое рефакторинг программы. Сделал рефакторинг самостоятельно.  
Сложности: Ничего 
Комментарии: Рефакторинг - супер полезная штука 
13 Без изменения кода... 00:24:38
14 чел. ★ 5 Done
  На уроке мы научимся только меняя в БД данные изменять работу нашего Бота

*Задание: добавить переход на новую строку при автоформировании меню
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 2 час. 15 мин. [Показать отчёт]
Научился: Научился выводить в Телеграмм кнопки категорий 
Сложности: Долго не мог разобраться, почему возникает ошибка. Также не получилось сделать автоматическое создание новой строки, если категорий больше 2ух. Подсмотрю в следующем уроке :) 
Комментарии: Долго не мог разобраться, почему возникает ошибка: Необработанное исключение типа "System.Data.SQLite.SQLiteException" в System.Data.SQLite.dll Дополнительные сведения: SQL logic error or missing database. Прикладываю скриншот. В видео эта ошибка возникла из-за неправильного названия базы. Все проверил, но так и не нашел проблему. В итоге помогло создание новой, точно такой же базы, но с другим именем 
14 Главные кнопки 00:27:41
14 чел. ★ 4.9 Done
  Создаем отдельный метод, который отвечает за добавление в наше Главное меню Главные кнопки :)

*Вопрос: почему возникает исключение при нажатии клавиш?
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 45 мин. [Показать отчёт]
Научился: Научился добавлять автоматический перенос кнопок на новую строку. Научился добавлять основные кнопки  
Сложности: Ничего 
Комментарии: Как всегда классный видеоурок 
15 Без тормозов 00:14:59
14 чел. ★ 5 Done
  Всегда лишнее тянет назад, и рука не поднимается сделать главное!
Очистим свой мозг и программу от лишнего мусора для новых горизонтов!

*Вопрос: для чего можно использовать систему контроля версий?
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 25 мин. [Показать отчёт]
Научился: Узнал про систему контроля версий 
Сложности: Ничего. Простой урок 
Комментарии: Систему контроля версий можно использовать: 1. Для индивидуального использования - помогает сравнивать различные версии программы и оценивать изменения. Другими словами - BackUp 2. Для коллективного использования - легче находить изменения. которые сделали другие программисты 
16 Продуктовый магазин 00:34:27
14 чел. ★ 5 Done
  Начинаем создавать показ Магазина пользователю.

*Вопрос: как можно решить проблему с открытием одного и того же элемента в Магазине
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 45 мин. [Показать отчёт]
Научился: Научился выводить кнопки с названием товаров. Научился выводить описание и цену к товару. 
Сложности: Ничего 
Комментарии: Ура, Телемагазин уже похож на магазин. 
17 Покупательская Корзина 00:28:45
14 чел. ★ 5 Done
  В Магазине должна быть Корзина, куда покупатель будет складывать свой(наш) товар, давайте дадим эту возможность пользователя и создадим у Бота Корзину.

*Задание: добавить метод добавления продукта
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 55 мин. [Показать отчёт]
Научился: Научился создавать корзину в магазине 
Сложности: Запутался с домашним заданием. Пришлось подглядеть решение в следующем уроке 
Комментарии: Замечательный урок 
18 Корзиномания 00:30:06
14 чел. ★ 5 Done
  Будем создавать методы, позволяющие заполнять и удалять из Корзины продукты.

*Задание: вывести содержимое Корзины в Сообщение
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 55 мин. [Показать отчёт]
Научился: Научился отображать количество товара в корзине 
Сложности: ДЗ так и не получилось выполнить. Опять придется подсматривать в следующем уроке.  
Комментарии: Никаких 
19 Корзина. Что из этого мне нужно? 00:36:28
14 чел. ★ 5 Done
  Создадим возможность пользователю посмотреть содержимое Корзины, а так же дадим возможность пользователю удалять продукты из Корзины.

*Задание: написать процедуру очистки Корзины для определенного пользователя
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Научился добавлять кнопку "Изменить", "Оформить", "Удалить" в корзину Научился выводить количество и сумму товара в корзине 
Сложности: При выполнении задании, из-за того, что новичок в программировании, долго разбирался с домашним заданием. В итоге получилось. Применил вот такой код в TeleRecycle: //Удаление ВСЕГО товара из корзины         public void DelAllBuy()         {             sql.Select("delete from recycle where username =" + userName);         } 
Комментарии: Классный видеоурок 
20 Корзина. Результат 00:41:20
14 чел. ★ 5 Done
  Результат покупки надо куда-то возвращать, чтобы можно было организовать доставку или помочь пользователю, если возник вопрос. Организацией результата Корзины мы и займемся на уроке.

*Задание: если Корзина пуста – не отображать кнопку.
*Задание: организовать отправку Сообщения Администратору
Отчёт отправил: 12223. Алексей Тупицын Выполнено за 50 мин. [Показать отчёт]
Научился: Научился получать контакт клиента и отправлять инфу админу 
Сложности: Запутался в организации отправки сообщения админу. Как всегда есть следующее видео:) 
Комментарии: Классный урок 
21 Класс как кнопка 00:27:45
13 чел. ★ 5 $
  На уроке мы рассмотрим простой пример, когда можно сделать так, чтобы отдельный класс отвечал за одну отдельную кнопку.
22 Красота должна быть идеальной 00:26:49
12 чел. ★ 5 $
  Наведем порядок в программе в плане красоты для пользователя, чтоб каждый элемент был красиво оформлен и приятен глазу.
23 ФИНАЛЬНЫЙ УРОК без видео
11 чел. ★ 5 $
  (В этом уроке нет видео)
Приветствую!
Ты дошел до конца этого курса, до этой черты доходят немногие!
Ты уже победитель!!!
24 LINQ 00:40:17
9 чел. ★ 5 $
  На уроке мы познакомимся с технологией LINQ, начнем писать запросы, варианты.
  Итого:   24 видеоурока 10 час. 04 мин.
9 чел. ★ 4.99  
  Финалисты:   Электрон,   Олег Михайлович,   Алексей В.,   Сергей Соколов,   Yefim,   chokayes,   Сергей,   Tekashnik,   Александр .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


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



Научился: Ура! Свершилось. Курс был очень интересным, но для меня оказался сложноватым. Особенно расстраивали исключения, которые появлялись время от времени на разных этапах разработки. Впрочем, я абсолютно не жалею, что взял этот курс - очень хорошая практика программирования на C# и особенно практика отладки - научился многим хитростям и приемам, о которых раньше не знал. Спасибо, огромное. Планирую, зайти на второй круг, так сказать) Начать писать еще один бот самостоятельно, выбрав, другую тему для магазина, под новый проект создать репозиторий на GitHub и попытаться глубже вникнуть в данную тематику.