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

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

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

SOFT: API Telegram

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

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

SOFT: API Telegram

Хочу купить!

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

Цена: 5000 p.


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

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

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

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

Отчёт отправил: 10670. Сергей Соколов Выполнено за 11 мин. [Показать отчёт]
Научился: Создал форму и текстовое поле на ней Проверил ввод данных в адресной строке Нашел настройки бота и поменял ему аватарку =) 
Сложности: ничего 
Комментарии: =) 
3 Начинаем кодить 00:16:35
18 чел. ★ 5 Done
  На уроке мы уже начинаем программировать, уже через нашу новую программу получаем данные, обновления и пр.

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

*Задание: написать описания для класса сообщения.
Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт]
Научился: Подключил библиотеку для работы с JSON. Получил offset (на прошлом уроке сам не смог, не допёр что проблема в слешах). Получил сообщения программно Написал описания для класса, где смог догадаться =) 
Сложности: Делать описание для класса 
Комментарии: =) 
5 Вам телеграмма! 00:18:18
17 чел. ★ 5 Done
  Учим нашего Бота писать сообщения, а так же реагировать на наши сообщения.

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

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

*Вопрос: как получить данные из ответа Бота, если ему отправить inline запрос?
Отчёт отправил: 10670. Сергей Соколов Выполнено за 35 мин. [Показать отчёт]
Научился: Научился делать кнопки Inline 
Сложности: как получить данные запроса не допёр 
Комментарии: =) 
8 По взмаху волшебной палочки! 00:23:38
15 чел. ★ 5 Done
  Управлять запросами это непросто, ну а как этим заниматься, рассмотрим на уроке.
Подсказочки тоже может быть пригодятся в последствии!

*Задание: сформировать inline меню названия месяцев, чтобы оно возвращало номер месяца.
Отчёт отправил: 10670. Сергей Соколов Выполнено за 35 мин. [Показать отчёт]
Научился: Дописал класс TeleMessage для того чтобы обрабатывать callback_query Написал процедуру отправки подсказок сформировал inline меню по месяцам. 
Сложности: не до конца понял прикола с inline menu У меня не работает меню со ссылками так как показано на видео(как работает показано на скриншоте). Если сделать inline меню без ссылки, но с callback_data тогда всё работает как на видео. 
Комментарии: ну вот кроме непонятно о которых написал выше, замечаний нет 
9 Изменить неизменяемое 00:23:36
15 чел. ★ 5 Done
  Научимся менять уже отправленное сообщение, чтобы у пользователя возникло ощущение интерактива.

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

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

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

*Задание: добавить на форму DataGridView и отобразить данные из таблицы
Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт]
Научился: Добавил класс для работы с базой SQLite. Выполнил рефакторинг программы Вывел данные из таблицы с предыдущего урока в DataGridView 
Сложности: ничего 
Комментарии: =) 
13 Без изменения кода... 00:24:38
14 чел. ★ 5 Done
  На уроке мы научимся только меняя в БД данные изменять работу нашего Бота

*Задание: добавить переход на новую строку при автоформировании меню
Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт]
Научился: Научился выводить меню по данным из БД. Дописал класс добавления кнопок. Поскольку домашнее задание не очень чётко, на мой взгляд,  поставлено сделал так. Добавил константу в класс InlineKeyboard, константа равна 3. При добавлении кнопки будут добавляться в линию, пока их не станет три, потом переходим на новую строку 
Сложности: ничего 
Комментарии: =) 
14 Главные кнопки 00:27:41
14 чел. ★ 4.9 Done
  Создаем отдельный метод, который отвечает за добавление в наше Главное меню Главные кнопки :)

*Вопрос: почему возникает исключение при нажатии клавиш?
Отчёт отправил: 10670. Сергей Соколов Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Добавлять новые кнопки в меню. Исключение возникает потому что при изменении сообщения мы должны поменять хоть что-нибудь. В нашем случае ничего не изменяется =) 
Сложности: Урок шел достаточно тяжело. Первое с чем столкнулся это с тем что если делать как в уроке вот в этих строчках List<InlineKeyboardButton> line = new List<InlineKeyboardButton>()             {                 new InlineKeyboardButton("Есть вопрос?", "?"),                 new InlineKeyboardButton("О нас", "about")             }; Я получал ошибку 400 при отправке сообщения. Если сделать так new InlineKeyboardButton("Есть вопрос?", "", "?") или так new InlineKeyboardButton("Есть вопрос?") ошибки нет  
Комментарии: =) 
15 Без тормозов 00:14:59
14 чел. ★ 5 Done
  Всегда лишнее тянет назад, и рука не поднимается сделать главное!
Очистим свой мозг и программу от лишнего мусора для новых горизонтов!

*Вопрос: для чего можно использовать систему контроля версий?
Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт]
Научился: Дописал обработку нашего меню Удалил лишние методы. Систему контроля версий удобно использовать чтобы можно было удобно вернутся на любой этап создания проекта 
Сложности: ничего 
Комментарии: =) 
16 Продуктовый магазин 00:34:27
14 чел. ★ 5 Done
  Начинаем создавать показ Магазина пользователю.

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

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

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

*Задание: написать процедуру очистки Корзины для определенного пользователя
Отчёт отправил: 10670. Сергей Соколов Выполнено за 45 мин. [Показать отчёт]
Научился: Написал процедуры изменения корзины. Добавил кнопку для Оформления заказа.  
Сложности: ничего 
Комментарии: =) 
20 Корзина. Результат 00:41:20
14 чел. ★ 5 Done
  Результат покупки надо куда-то возвращать, чтобы можно было организовать доставку или помочь пользователю, если возник вопрос. Организацией результата Корзины мы и займемся на уроке.

*Задание: если Корзина пуста – не отображать кнопку.
*Задание: организовать отправку Сообщения Администратору
Отчёт отправил: 10670. Сергей Соколов Выполнено за 50 мин. [Показать отчёт]
Научился: Написал процедуру отправки Администратору информации о том что нужно связаться с клиентом. Написал процедуру очистки Корзины. Если корзина пуста, она не отображается 
Сложности: следить за ходом мысли =) 
Комментарии: =) 
21 Класс как кнопка 00:27:45
13 чел. ★ 5 Done
  На уроке мы рассмотрим простой пример, когда можно сделать так, чтобы отдельный класс отвечал за одну отдельную кнопку.

Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт]
Научился: Написал отдельный класс для кнопки =) 
Сложности: ничего 
Комментарии: =) 
22 Красота должна быть идеальной 00:26:49
12 чел. ★ 5 Done
  Наведем порядок в программе в плане красоты для пользователя, чтоб каждый элемент был красиво оформлен и приятен глазу.

Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт]
Научился: Научился вставлять смайлы, добавлять картинки к описанию товаров, и форматировать текст сообщений бота.  
Сложности: ничего 
Комментарии: =) 
23 ФИНАЛЬНЫЙ УРОК без видео
11 чел. ★ 5 Done
  (В этом уроке нет видео)
Приветствую!
Ты дошел до конца этого курса, до этой черты доходят немногие!
Ты уже победитель!!!

Отчёт отправил: 10670. Сергей Соколов Выполнено за 1 час. 45 мин. [Показать отчёт]
Научился: Не легко мне дался этот курс. При его прохождении нужно быть ОЧЕНЬ внимательным. =) Но курс мне понравился, узнал для себя много нового. Буду пробовать пробивать применение таких ботов на работе. =) Следующим будет курс "Шпионский бот" =) 
Сложности: делать видео 
Комментарии: =) 
Видеообзор: SXrMEsAK5NQ
24 LINQ 00:40:17
9 чел. ★ 5 Done
  На уроке мы познакомимся с технологией LINQ, начнем писать запросы, варианты.

Отчёт отправил: 10670. Сергей Соколов Выполнено за 45 мин. [Показать отчёт]
Научился: Познакомился с LINQ. Отличный урок получился. =) 
Сложности: ничего 
Комментарии: =) 
  Итого:   24 видеоурока 10 час. 04 мин.
9 чел. ★ 4.99  
  Финалисты:   Электрон,   Олег Михайлович,   Алексей В.,   Сергей Соколов,   Yefim,   chokayes,   Сергей,   Tekashnik,   Александр .

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





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

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

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

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


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



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