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

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

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

SOFT: API Telegram

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

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

SOFT: API Telegram

Хочу купить!

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

Цена: 5000 p.


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

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

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

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

Отчёт отправил: 8275. Tekashnik Выполнено за 49 мин. [Показать отчёт]
Научился: Получать токен и истользовать его для работы бота через http-запросы Установил Аватарку 
Сложности: Найти картинку для аватарки 
3 Начинаем кодить 00:16:35
18 чел. ★ 5 Done
  На уроке мы уже начинаем программировать, уже через нашу новую программу получаем данные, обновления и пр.

*Задание: получить номер последнего обновления – offset
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт]
Научился: Чить сообщения от пользователя, который пишет нашему боту. Offset - номер последнего обновления, если его ставить параметром для получения сообщений, то он укажет на то что, всё что меньше offset нам не интересно(т.е. не отобразится) всё что больше будет показано)) 
Сложности: Дождаться, когда заработает videosharp.info 
4 Что такое Json?! 00:22:25
17 чел. ★ 5 Done
  Урок расскажет всё о Json, и использовании этой технологии в C#

*Задание: написать описания для класса сообщения.
Отчёт отправил: 8275. Tekashnik Выполнено за 41 мин. [Показать отчёт]
Научился: Создавать класс из сообщения Json. Не такой восторг как первый раз но всё равно очень круто)) Json - удобный и компактный формат передачи и хранения всевозможных данных 
Сложности: Придумать, что было самым сложным. 
5 Вам телеграмма! 00:18:18
17 чел. ★ 5 Done
  Учим нашего Бота писать сообщения, а так же реагировать на наши сообщения.

*Вопрос: кто может в данный момент написать и получить ответ от Бота?
Отчёт отправил: 8275. Tekashnik Выполнено за 22 час. 34 мин. [Показать отчёт]
Научился: Написал процедуру выбора ответа, и долго понять не мог почему у меня выскакивает исключение и ошибка от сервера 400. Потом случайно нашёл, уже всё перепробовав) Оказывается telegram не работатет с протокол http, приемлет только https В данный момент (если бот запущен ) любой пользователь телеграм может это сделать) 
Сложности: Найти ошибку. 
6 Не хочу писать! 00:33:13
16 чел. ★ 5 Done
  Правильно! В Век Новых Технологий пользователь приучен тыкать по кнопках, а не писать самостоятельно, вот и мы на уроке начнем создавать кнопки.

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

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

*Задание: сформировать inline меню названия месяцев, чтобы оно возвращало номер месяца.
Отчёт отправил: 8275. Tekashnik Выполнено за 1 день 10 час. 45 мин. [Показать отчёт]
Научился: Познакомились с другим типом меню. Написал домашнее задание. 
Сложности: Писать ночью с субботы на воскресенье 
9 Изменить неизменяемое 00:23:36
15 чел. ★ 5 Done
  Научимся менять уже отправленное сообщение, чтобы у пользователя возникло ощущение интерактива.

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

*Самостоятельное задание: сделать так, чтобы при нажатии кнопки Enter в DataGridView данные сохранялись в базу данных
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 31 мин. [Показать отчёт]
Научился: Повторил возможность работы VS с SQLlite. Делал уже не первый раз всё было достаточно знакомо и комфортно 
Сложности: Программировать в 2 часа ночи 
11 БД - Большое Дело! 00:20:29
14 чел. ★ 5 Done
  Планы - основа всех Баз Данных, будем планировать и создавать Базы Данных!

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

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

*Задание: добавить переход на новую строку при автоформировании меню
Отчёт отправил: 8275. Tekashnik Выполнено за 30 мин. [Показать отчёт]
Научился: Уже делал переносы с инлайн меню про месяцы, теперь хочу посмотреть как автор курса это реализует) 
Сложности: Найти время) 
14 Главные кнопки 00:27:41
14 чел. ★ 4.9 Done
  Создаем отдельный метод, который отвечает за добавление в наше Главное меню Главные кнопки :)

*Вопрос: почему возникает исключение при нажатии клавиш?
Отчёт отправил: 8275. Tekashnik Выполнено за 3 час. 17 мин. [Показать отчёт]
Научился: Ошибка возникает потому, что при вызове API метода editMessageText нужно хоть что то изменить иначе, если же текст сообщения совпадает с тем, что было до изменения, то появляется такая ошибка). На втором скриншоте способ избавиться от этой ошибки, если 2 раза не нажимать на одну клавишу. 
Сложности: Придумать, что было самым сложным. 
15 Без тормозов 00:14:59
14 чел. ★ 5 Done
  Всегда лишнее тянет назад, и рука не поднимается сделать главное!
Очистим свой мозг и программу от лишнего мусора для новых горизонтов!

*Вопрос: для чего можно использовать систему контроля версий?
Отчёт отправил: 8275. Tekashnik Выполнено за 30 мин. [Показать отчёт]
Научился: Систему контроля версий можно использовать для работы в команде, для экспериментов, которые отходят от основной концепции программы, для создания контрольных точек проекта, чтобы можно было до них откатиться или вернуться к ним. Есть вопрос по кнопкам, на котрые второй раз можно нажимать, я нажимаю и выпадает ошибка 400. И на взгляд она не фиксируется повторного нажатия( 
Сложности: Жалко было всё удалять, но чтобы что то построить, нужно сначала что то сломать) 
16 Продуктовый магазин 00:34:27
14 чел. ★ 5 Done
  Начинаем создавать показ Магазина пользователю.

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

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

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

*Задание: написать процедуру очистки Корзины для определенного пользователя
Отчёт отправил: 8275. Tekashnik Выполнено за 1 день 1 час. 52 мин. [Показать отчёт]
Научился: В первую очередь я научился работать с vpn, так как у бота нет никой внутреней способности обойти блокировку телеграм. Так же повторил запросы для sql. Вот запрос на удаления из корзины по одному пользователю: DELETE FROM Recycle WHERE username = '" + userName + "', его вешаем на кнопку и можно радоваться) 
Сложности: Заставить бота работать в сложившейся ситуации 
20 Корзина. Результат 00:41:20
14 чел. ★ 5 Done
  Результат покупки надо куда-то возвращать, чтобы можно было организовать доставку или помочь пользователю, если возник вопрос. Организацией результата Корзины мы и займемся на уроке.

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

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

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

Отчёт отправил: 8275. Tekashnik Выполнено за 10 час. 45 мин. [Показать отчёт]
Научился: Курс получился хорошим, в целом основы API Telegram раскрыты, немного не хватает ООП, но думаю для новичков самое оно, чтобы не запутываться в ООП. Рекомендую всем, кто хочет научиться писать ботов Telegram 
Сложности: Смонтировать видео 
Видеообзор: BPcHXuBBQiA
24 LINQ 00:40:17
9 чел. ★ 5 Done
  На уроке мы познакомимся с технологией LINQ, начнем писать запросы, варианты.

Отчёт отправил: 8275. Tekashnik Выполнено за 3 дня 12 час. 14 мин. [Показать отчёт]
Научился: Очень крутая штука LINQ. Ёмкие конструкции можно уложить в паре строчек, а интерфейс IEnumirable позволяет делать иструкции не загружая память а пользоваться только при необходимости. Все рекомендую к использованию. Мне нравится) 
Сложности: Найти время) 
  Итого:   24 видеоурока 10 час. 04 мин.
9 чел. ★ 4.99  
  Финалисты:   Электрон,   Олег Михайлович,   Алексей В.,   Сергей Соколов,   Yefim,   chokayes,   Сергей,   Tekashnik,   Александр .

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





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

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

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

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


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



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