<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python | Adjabkhanian</title>
    <link>https://example.com/tags/python/</link>
      <atom:link href="https://example.com/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <description>Python</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 10 Oct 2025 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://example.com/media/icon_hu12469818602708068705.png</url>
      <title>Python</title>
      <link>https://example.com/tags/python/</link>
    </image>
    
    <item>
      <title>RealtyHelpReBot — Telegram Bot for Real Estate Assistance</title>
      <link>https://example.com/project/realtyhelperbot/</link>
      <pubDate>Fri, 10 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://example.com/project/realtyhelperbot/</guid>
      <description>&lt;h2 id=&#34;-about-the-project&#34;&gt;🏙 About the Project&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;RealtyHelpReBot&lt;/strong&gt; is a Telegram bot designed to automate real estate selection and handle client applications.&lt;br&gt;
It allows users to choose a city, property type, receive up-to-date offers, and submit applications directly to the manager.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-project-idea&#34;&gt;💡 Project Idea&lt;/h2&gt;
&lt;p&gt;Instead of long phone calls and manual forms, the bot simplifies the process:&lt;br&gt;
clients select their preferences, and the bot automatically generates and sends the application to Google Sheets, where the manager can immediately view it.&lt;/p&gt;
&lt;p&gt;The project was developed on a client request for a real estate agency to reduce routine work and speed up client interactions.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-core-features&#34;&gt;🔧 Core Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🏘 Select city and property type&lt;/li&gt;
&lt;li&gt;📩 Submit application to Google Sheets&lt;/li&gt;
&lt;li&gt;🧠 Smart welcome message — admins can change text and photo via JSON&lt;/li&gt;
&lt;li&gt;👨‍💼 Notify manager about new applications&lt;/li&gt;
&lt;li&gt;⚙️ Flexible welcome message configuration without changing code&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-technologies-used&#34;&gt;⚙️ Technologies Used&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Area&lt;/th&gt;
          &lt;th&gt;Technologies&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Programming&lt;/td&gt;
          &lt;td&gt;Python 3.9&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Framework&lt;/td&gt;
          &lt;td&gt;Aiogram 3&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Database/API&lt;/td&gt;
          &lt;td&gt;Google Sheets API (via gspread)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hosting&lt;/td&gt;
          &lt;td&gt;Local server / Railway&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Configuration&lt;/td&gt;
          &lt;td&gt;JSON + dotenv&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-project-structure&#34;&gt;📁 Project Structure&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;realtyhelprebot/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── main.py            # Main bot logic
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── config.py          # Settings and tokens
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── data/start_data.json  # Dynamic welcome message (text + photo)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── utils/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│   └── google_api.py  # Google Sheets integration
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── requirements.txt   # Dependencies
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;-bot-link&#34;&gt;🔗 Bot Link&lt;/h2&gt;
&lt;p&gt;👉 &lt;a href=&#34;https://t.me/AN_MowKznRussia_bot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@AN_MowKznRussia_bot&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-code-preview&#34;&gt;🧩 Code Preview&lt;/h2&gt;
&lt;p&gt;The main bot logic can be found here:&lt;br&gt;
&lt;strong&gt;&lt;a href=&#34;main.py&#34;&gt;&lt;code&gt;main.py&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt; — contains the implementation of all bot scenarios, including dynamic welcome messages, form processing, and Google Sheets integration.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-conclusion&#34;&gt;💬 Conclusion&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;RealtyHelpReBot&lt;/strong&gt; is a practical tool for real estate agencies.&lt;br&gt;
It saves managers time and makes client communication smooth and modern.&lt;/p&gt;
&lt;p&gt;The bot can be easily adapted for other niches — from rentals to consultations.&lt;br&gt;
If you want a similar project for your business, just contact me 😉&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Telegram Bot “Dialog of Truth”</title>
      <link>https://example.com/project/project-dialogistini/</link>
      <pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://example.com/project/project-dialogistini/</guid>
      <description>&lt;h3 id=&#34;-project-idea&#34;&gt;🧠 Project Idea&lt;/h3&gt;
&lt;p&gt;This Telegram bot was developed for the spiritual and educational initiative “Dialog of Truth” to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automate contact collection from Instagram users&lt;/li&gt;
&lt;li&gt;Understand participant motivation through a short survey&lt;/li&gt;
&lt;li&gt;Enable admins to broadcast messages to the entire database&lt;/li&gt;
&lt;li&gt;Seamlessly integrate with Airtable&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-what-does-the-bot-do&#34;&gt;🔍 What Does the Bot Do?&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;A user joins the bot via a link from Instagram&lt;/li&gt;
&lt;li&gt;They are asked to provide:
&lt;ul&gt;
&lt;li&gt;📱 Phone number (via a button)&lt;/li&gt;
&lt;li&gt;📧 Email address&lt;/li&gt;
&lt;li&gt;👤 First and last name&lt;/li&gt;
&lt;li&gt;❓ Answer to: “Do you want religious knowledge?”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The bot saves all the data to Airtable&lt;/li&gt;
&lt;li&gt;Sends a link to the main Telegram channel&lt;/li&gt;
&lt;li&gt;The admin can send a broadcast with the &lt;code&gt;/sendall&lt;/code&gt; command&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-survey-inside-the-bot&#34;&gt;📊 Survey Inside the Bot&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Do you want religious knowledge?&lt;/strong&gt;&lt;br&gt;
• To receive and apply it for myself&lt;br&gt;
• To receive, apply, and share it with others&lt;br&gt;
• I just want to observe for now&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;All responses are also saved in Airtable.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-technologies-used&#34;&gt;🛠 Technologies Used&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python 3.11&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aiogram 3.x&lt;/strong&gt; — asynchronous Telegram bot framework&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Airtable&lt;/strong&gt; — external database for storing structured user data&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Railway&lt;/strong&gt; — deployment without exposing tokens (via ENV)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt; — source code is private, available upon request&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-project-cover&#34;&gt;🖼 Project Cover&lt;/h3&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img src=&#34;https://raw.githubusercontent.com/adjabkhanian/dialogistini2/main/dialogistini-preview.jpg&#34; alt=&#34;Project Cover&#34; loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-airtable-data-structure&#34;&gt;📂 Airtable Data Structure&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Telegram ID&lt;/li&gt;
&lt;li&gt;Username&lt;/li&gt;
&lt;li&gt;Phone&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;li&gt;First Name&lt;/li&gt;
&lt;li&gt;Last Name&lt;/li&gt;
&lt;li&gt;Survey Answer&lt;/li&gt;
&lt;li&gt;Registration Date&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-admin-features&#34;&gt;📦 Admin Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;code&gt;/sendall Hello!&lt;/code&gt; — sends a message to all users&lt;/li&gt;
&lt;li&gt;🔐 Only specified Telegram IDs can broadcast&lt;/li&gt;
&lt;li&gt;🧑‍💻 All collected data is stored in Airtable and can be exported easily&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-who-is-this-for&#34;&gt;💡 Who Is This For?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Online schools and educational communities&lt;/li&gt;
&lt;li&gt;Projects growing from Instagram or Telegram&lt;/li&gt;
&lt;li&gt;Small teams without complex CRM systems&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-how-to-deploy&#34;&gt;📥 How to Deploy&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create an Airtable base with the required fields&lt;/li&gt;
&lt;li&gt;Add secret variables in Railway:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BOT_TOKEN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AIRTABLE_API_KEY&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AIRTABLE_BASE_ID&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AIRTABLE_TABLE_NAME&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Deploy the bot on Railway&lt;/li&gt;
&lt;li&gt;Connect a domain and share the link in your Instagram bio&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-results&#34;&gt;🎯 Results&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A clean Telegram-based form that acts as a mini landing page&lt;/li&gt;
&lt;li&gt;All user data in Airtable for future communication and analysis&lt;/li&gt;
&lt;li&gt;Quick survey for audience segmentation&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-want-to-collaborate&#34;&gt;📎 Want to Collaborate?&lt;/h3&gt;
&lt;p&gt;If you want to create a custom Telegram bot for your project —&lt;br&gt;
&lt;a href=&#34;https://t.me/adjabkhanyan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Contact me →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-additional-resources&#34;&gt;🛠 Additional Resources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aiogram.dev/en/latest/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Aiogram Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://airtable.com/api&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Airtable API Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://railway.app&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Railway Hosting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Telegram Subscription Management Bot</title>
      <link>https://example.com/project/telegram-subscription-bot/</link>
      <pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://example.com/project/telegram-subscription-bot/</guid>
      <description>&lt;h3 id=&#34;project-overview&#34;&gt;Project Overview&lt;/h3&gt;
&lt;p&gt;This Telegram bot was created for my client — an educational club aiming to simplify the subscription and management process.&lt;/p&gt;
&lt;p&gt;The bot allows users to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Choose subscription periods (1, 3, 6, or 12 months)&lt;/li&gt;
&lt;li&gt;Submit payment confirmation (screenshot)&lt;/li&gt;
&lt;li&gt;Receive a link to a private group after payment approval&lt;/li&gt;
&lt;li&gt;Access personal cabinet with subscription details&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Administrators have handy tools for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Approving or denying payments&lt;/li&gt;
&lt;li&gt;Viewing subscriber lists and subscription statuses&lt;/li&gt;
&lt;li&gt;Cancelling subscriptions&lt;/li&gt;
&lt;li&gt;Broadcasting messages to all subscribers&lt;/li&gt;
&lt;li&gt;Searching users by username&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;target-audience&#34;&gt;Target Audience&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Educational clubs and courses looking to automate subscription processes&lt;/li&gt;
&lt;li&gt;Small businesses working with paid access via Telegram&lt;/li&gt;
&lt;li&gt;Admins on a budget who want a simple and reliable bot&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;technologies-used&#34;&gt;Technologies Used&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python 3.11+&lt;/strong&gt; — primary programming language&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aiogram&lt;/strong&gt; — asynchronous framework for Telegram bots&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQLite&lt;/strong&gt; — lightweight built-in database for subscriber storage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Asynchronous programming&lt;/strong&gt; — efficient request handling without blocking&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;key-features&#34;&gt;Key Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;User interaction via friendly keyboards and finite state machine (FSM)&lt;/li&gt;
&lt;li&gt;Admin panel protected by a list of admins (supports multiple admins)&lt;/li&gt;
&lt;li&gt;Automatic reminders 2 days before subscription expiration&lt;/li&gt;
&lt;li&gt;Access control to private group: the bot bans/unbans Telegram users accordingly&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;bot-screenshots&#34;&gt;Bot Screenshots&lt;/h3&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Main Menu&#34; srcset=&#34;
               /project/telegram-subscription-bot/bot_menu_hu9049458618633492698.webp 400w,
               /project/telegram-subscription-bot/bot_menu_hu5290727426688626629.webp 760w,
               /project/telegram-subscription-bot/bot_menu_hu18190672785231923455.webp 1200w&#34;
               src=&#34;https://example.com/project/telegram-subscription-bot/bot_menu_hu9049458618633492698.webp&#34;
               width=&#34;760&#34;
               height=&#34;456&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;

&lt;em&gt;Main menu with action choices&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Subscription&#34; srcset=&#34;
               /project/telegram-subscription-bot/bot_subscribe_hu826424590436145163.webp 400w,
               /project/telegram-subscription-bot/bot_subscribe_hu6393900498428493278.webp 760w,
               /project/telegram-subscription-bot/bot_subscribe_hu10046640171276976382.webp 1200w&#34;
               src=&#34;https://example.com/project/telegram-subscription-bot/bot_subscribe_hu826424590436145163.webp&#34;
               width=&#34;447&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;

&lt;em&gt;Subscription flow and period selection&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Admin Panel&#34; srcset=&#34;
               /project/telegram-subscription-bot/bot_admin_hu7932737089633642684.webp 400w,
               /project/telegram-subscription-bot/bot_admin_hu17851296282115127575.webp 760w,
               /project/telegram-subscription-bot/bot_admin_hu14837610278579964209.webp 1200w&#34;
               src=&#34;https://example.com/project/telegram-subscription-bot/bot_admin_hu7932737089633642684.webp&#34;
               width=&#34;393&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;

&lt;em&gt;Admin menu for subscription management&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;how-to-run&#34;&gt;How to Run&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Requires Python 3.11+ installed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install dependencies from &lt;code&gt;requirements.txt&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the &lt;code&gt;TOKEN&lt;/code&gt; environment variable with your Telegram bot token&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run the bot using:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For continuous operation, deploy the bot on a server or cloud (Heroku, VPS, etc.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;repository&#34;&gt;Repository&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/adjabkhanian/telegram-subscription-bot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;If interested or want to customize it further — feel free to contact me!&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>UBORKA Bot — Cleaning Management Automation</title>
      <link>https://example.com/project/uborkabot/</link>
      <pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://example.com/project/uborkabot/</guid>
      <description>&lt;h2 id=&#34;about-the-project&#34;&gt;About the Project&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;UBORKA Bot&lt;/strong&gt; is a project aimed at automating the distribution of cleaning tasks within a team. Using a Telegram bot, users receive reminders, mark task completion, and help maintain order in the group.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-features&#34;&gt;📋 &lt;strong&gt;Features&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Task automation:&lt;/strong&gt; Assigning cleaning duties to groups at scheduled times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interactivity:&lt;/strong&gt; Users confirm task completion via Telegram.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexibility:&lt;/strong&gt; Group shifts are automatically managed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduler:&lt;/strong&gt; Uses &lt;code&gt;APScheduler&lt;/code&gt; library for regular reminders.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-technologies&#34;&gt;📦 &lt;strong&gt;Technologies&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Programming language:&lt;/strong&gt; Python&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Telegram API:&lt;/strong&gt; Bot interaction via &lt;code&gt;aiogram&lt;/code&gt; library&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduler:&lt;/strong&gt; &lt;code&gt;APScheduler&lt;/code&gt; for task scheduling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hosting:&lt;/strong&gt; Railway&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-key-functions&#34;&gt;🛠️ &lt;strong&gt;Key Functions&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&#34;1-reminder-broadcast&#34;&gt;1. &lt;strong&gt;Reminder Broadcast&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Daily notifications sent specifying which group should clean the computers.&lt;/p&gt;
&lt;h4 id=&#34;2-interactive-feedback&#34;&gt;2. &lt;strong&gt;Interactive Feedback&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;After cleaning, participants press the &amp;ldquo;✅ Done&amp;rdquo; button to confirm completion.&lt;/p&gt;
&lt;h4 id=&#34;3-reporting&#34;&gt;3. &lt;strong&gt;Reporting&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;The bot records who completed the task by adding the user&amp;rsquo;s name to the message.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-results&#34;&gt;🎯 &lt;strong&gt;Results&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Improved discipline:&lt;/strong&gt; Clear task assignments.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time saving:&lt;/strong&gt; No manual reminders needed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ease of use:&lt;/strong&gt; Users interact via a convenient Telegram interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-development-stages&#34;&gt;📅 &lt;strong&gt;Development Stages&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Creating task logic&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bot development using &lt;code&gt;aiogram&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduler integration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployment on Railway&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testing and launch&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-project-screenshots&#34;&gt;📸 &lt;strong&gt;Project Screenshots&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Cleaning Reminder&#34; srcset=&#34;
               /project/uborkabot/uborka1_hu5455983674186377261.webp 400w,
               /project/uborkabot/uborka1_hu14837725453511425058.webp 760w,
               /project/uborkabot/uborka1_hu555043320919157904.webp 1200w&#34;
               src=&#34;https://example.com/project/uborkabot/uborka1_hu5455983674186377261.webp&#34;
               width=&#34;622&#34;
               height=&#34;396&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;br&gt;
&lt;em&gt;Cleaning reminder with task completion confirmation.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Telegram Bot&#34; srcset=&#34;
               /project/uborkabot/uborka2_hu15398526527790336232.webp 400w,
               /project/uborkabot/uborka2_hu8497110588005433021.webp 760w,
               /project/uborkabot/uborka2_hu16278686870049513607.webp 1200w&#34;
               src=&#34;https://example.com/project/uborkabot/uborka2_hu15398526527790336232.webp&#34;
               width=&#34;744&#34;
               height=&#34;406&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;br&gt;
&lt;em&gt;Telegram bot interface for confirming cleaning.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-links&#34;&gt;🌐 &lt;strong&gt;Links&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/your-username/uborka-bot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-conclusion&#34;&gt;💡 &lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;UBORKA Bot&lt;/strong&gt; project demonstrated how simple tasks can be effectively automated. This solution can be adapted for other purposes like event management, duty assignments, and more.&lt;/p&gt;
&lt;p&gt;If you have ideas needing automation, I’m ready to build a user-friendly Telegram bot for you!&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-contact-me&#34;&gt;📩 &lt;strong&gt;Contact Me&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Email: &lt;a href=&#34;mailto:adjabkhanian@gmail.com&#34;&gt;adjabkhanian@gmail.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Telegram: &lt;a href=&#34;https://t.me/adjabkhanyan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@adjabkhanyan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
</description>
    </item>
    
    <item>
      <title>ZarplataBot — Telegram Bot for Shift, Bar, and Report Management</title>
      <link>https://example.com/project/zarplatabot/</link>
      <pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://example.com/project/zarplatabot/</guid>
      <description>&lt;h2 id=&#34;-about-the-project&#34;&gt;🔍 About the Project&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;ZarplataBot&lt;/strong&gt; is a Telegram bot designed to automate financial tracking in small teams such as baristas, shift workers, support staff, and administrators. It replaces manual spreadsheet entries and helps track:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;💼 Work shifts (day and night)&lt;/li&gt;
&lt;li&gt;🍷 Bar income with dynamic percentages&lt;/li&gt;
&lt;li&gt;💸 Expenses with comments&lt;/li&gt;
&lt;li&gt;🚫 Fines and deductions&lt;/li&gt;
&lt;li&gt;📊 Monthly reports with filtering&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The project was developed as a personal internal automation solution but can scale to any team.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-why-i-created-this&#34;&gt;💡 Why I created this?&lt;/h2&gt;
&lt;p&gt;Working in a team where tracking was often done manually, I noticed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shift records were forgotten&lt;/li&gt;
&lt;li&gt;Expenses got lost&lt;/li&gt;
&lt;li&gt;Income was estimated roughly&lt;/li&gt;
&lt;li&gt;Reports had to be collected piecemeal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To remove routine and errors, I decided to automate the process via Telegram, which everyone uses daily.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-features&#34;&gt;🔧 Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🕑 Adding shifts: day or night (with fixed rates)&lt;/li&gt;
&lt;li&gt;🍷 Bar accounting: income percentage depends on the amount (dynamic)
&lt;ul&gt;
&lt;li&gt;up to 3500 — 5%&lt;/li&gt;
&lt;li&gt;3500 to 4000 — 6%&lt;/li&gt;
&lt;li&gt;4000 to 4500 — 7%&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;li&gt;from 10,000 — 15%&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;💸 Entering expenses with comments (e.g., &amp;ldquo;300 food&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;🚫 Fines with explanations (&amp;ldquo;500 late&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;📊 Monthly reports — current, previous, and manually selected&lt;/li&gt;
&lt;li&gt;🗃 All data stored in Airtable — easy manual editing&lt;/li&gt;
&lt;li&gt;⏱ Instant response — via Telegram bot, no need to open spreadsheets&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-integrations&#34;&gt;🔌 Integrations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Telegram Bot API&lt;/strong&gt; — user communication&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Airtable API&lt;/strong&gt; — database editable manually if needed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQLite&lt;/strong&gt; — local storage fallback&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Railway&lt;/strong&gt; — deployment and 24/7 uptime&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt; — project storage and updates&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-deployment&#34;&gt;🚀 Deployment&lt;/h2&gt;
&lt;p&gt;The bot is deployed on &lt;a href=&#34;https://railway.app&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Railway&lt;/a&gt;, allowing 24/7 operation without relying on local machines. Code updates are done by &lt;code&gt;git push&lt;/code&gt; to GitHub, and Railway automatically rebuilds and restarts the bot.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-interface&#34;&gt;🖼 Interface&lt;/h2&gt;
&lt;p&gt;Users interact with the bot via buttons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;▶️ Start&lt;/li&gt;
&lt;li&gt;🕑 Day / 🌙 Night shift&lt;/li&gt;
&lt;li&gt;🍷 Bar&lt;/li&gt;
&lt;li&gt;💸 Expense&lt;/li&gt;
&lt;li&gt;🚫 Fine&lt;/li&gt;
&lt;li&gt;📊 Report&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each action is accompanied by confirmations and interactive messages. The interface is adapted to Telegram UX.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-technologies-used&#34;&gt;🛠 Technologies Used&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Area&lt;/th&gt;
          &lt;th&gt;Technologies&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Language&lt;/td&gt;
          &lt;td&gt;Python 3.11&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Framework&lt;/td&gt;
          &lt;td&gt;Aiogram 3&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;APIs&lt;/td&gt;
          &lt;td&gt;Telegram Bot API, Airtable REST&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hosting&lt;/td&gt;
          &lt;td&gt;Railway&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Storage&lt;/td&gt;
          &lt;td&gt;SQLite + Airtable&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CI/CD&lt;/td&gt;
          &lt;td&gt;GitHub + Railway Integration&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-project-repository&#34;&gt;📦 Project Repository&lt;/h2&gt;
&lt;p&gt;Code available on GitHub:&lt;/p&gt;
&lt;p&gt;👉 &lt;a href=&#34;https://github.com/adjabkhanian/zarplata-bot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;github.com/adjabkhanian/zarplata-bot&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-future-plans&#34;&gt;📈 Future Plans&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;User authorization&lt;/li&gt;
&lt;li&gt;Google Sheets integration&lt;/li&gt;
&lt;li&gt;PDF reports&lt;/li&gt;
&lt;li&gt;Analytics with charts&lt;/li&gt;
&lt;li&gt;Admin panel via web interface&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-conclusion&#34;&gt;💬 Conclusion&lt;/h2&gt;
&lt;p&gt;ZarplataBot is not just a bot but a working tool for accounting and transparency. It removes chaos and makes routine pleasant.&lt;/p&gt;
&lt;p&gt;If you want to adapt this bot for your team — contact me 😉&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>🚀 Telegram Bot for Task Management with Airtable</title>
      <link>https://example.com/project/tgbot/</link>
      <pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate>
      <guid>https://example.com/project/tgbot/</guid>
      <description>&lt;h1 id=&#34;-telegram-bot-for-field-tasks&#34;&gt;📱 Telegram Bot for Field Tasks&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; a smart Telegram bot that helps field teams efficiently complete tasks and report on them in just a few clicks.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-why-do-you-need-this-bot&#34;&gt;❓ Why do you need this bot?&lt;/h2&gt;
&lt;p&gt;Many companies face problems like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🚫 Tasks get lost, employees forget to report&lt;/li&gt;
&lt;li&gt;📉 Managers find it hard to track task status&lt;/li&gt;
&lt;li&gt;🕒 Photo reports are collected manually and slowly&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; a bot that handles it all. Simple, fast, and clear.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-how-does-it-work&#34;&gt;⚙️ How does it work?&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;👤 Employee starts &lt;code&gt;/start&lt;/code&gt;, selects their &lt;strong&gt;role&lt;/strong&gt; and enters their name&lt;/li&gt;
&lt;li&gt;🔘 Gets a &lt;strong&gt;“Go to tasks”&lt;/strong&gt; button&lt;/li&gt;
&lt;li&gt;🗺️ Selects a &lt;strong&gt;region&lt;/strong&gt; (e.g., “North” or “Center”)&lt;/li&gt;
&lt;li&gt;📋 Sees a task list:
&lt;ul&gt;
&lt;li&gt;🔧 Fix the network&lt;/li&gt;
&lt;li&gt;📶 Install Wi-Fi&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;📸 Clicks “Complete task” and sends a &lt;strong&gt;photo report&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;🤖 Bot:
&lt;ul&gt;
&lt;li&gt;saves the photo and executor’s name&lt;/li&gt;
&lt;li&gt;💾 &lt;strong&gt;updates Airtable&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;sends “✅ Task completed”&lt;/li&gt;
&lt;li&gt;automatically returns to region selection&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img src=&#34;https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&amp;amp;fit=crop&amp;amp;w=800&amp;amp;q=80&#34; alt=&#34;Server and terminal&#34; loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-why-is-this-convenient&#34;&gt;🌟 Why is this convenient?&lt;/h2&gt;
&lt;h3 id=&#34;features&#34;&gt;Features:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;🧠 &lt;strong&gt;FSM:&lt;/strong&gt; bot “remembers” user’s current step&lt;/li&gt;
&lt;li&gt;🖱️ &lt;strong&gt;Intuitive buttons:&lt;/strong&gt; “Back,” “Select region,” “Complete”&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Emojis:&lt;/strong&gt; add visual logic and make interaction pleasant&lt;/li&gt;
&lt;li&gt;📷 &lt;strong&gt;Photo required:&lt;/strong&gt; task cannot be completed without a photo&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;Airtable link:&lt;/strong&gt; tasks live in the cloud and update in real time&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Auto navigation:&lt;/strong&gt; no manual return needed — bot does it automatically&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img src=&#34;https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&amp;amp;fit=crop&amp;amp;w=800&amp;amp;q=80&#34; alt=&#34;Team working&#34; loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-airtable-as-a-database&#34;&gt;📊 Airtable as a database&lt;/h2&gt;
&lt;p&gt;Uses an Airtable base where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🗂️ Tasks are stored by roles and locations&lt;/li&gt;
&lt;li&gt;📸 Photos and executor names are saved&lt;/li&gt;
&lt;li&gt;✔️ Status updates after task completion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Integration via API — everything happens automatically.&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img src=&#34;https://images.unsplash.com/photo-1556740749-887f6717d7e4?auto=format&amp;amp;fit=crop&amp;amp;w=800&amp;amp;q=80&#34; alt=&#34;Airtable example&#34; loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-where-is-it-useful&#34;&gt;🚚 Where is it useful?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;📦 Courier services&lt;/li&gt;
&lt;li&gt;🛠️ Installation teams&lt;/li&gt;
&lt;li&gt;👷 Engineers and service teams&lt;/li&gt;
&lt;li&gt;🏢 Internal company task management&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-advantages-of-the-solution&#34;&gt;💡 Advantages of the solution&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🖱️ Minimal clicks — maximum results&lt;/li&gt;
&lt;li&gt;📲 No separate app needed — works in Telegram&lt;/li&gt;
&lt;li&gt;🌍 Scalable and flexible&lt;/li&gt;
&lt;li&gt;👥 Easy to add new employees&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-247-deployment&#34;&gt;🖥️ 24/7 Deployment&lt;/h2&gt;
&lt;p&gt;Bot hosted on a server:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;🌐 VPS rental (e.g., Timeweb Cloud)&lt;/li&gt;
&lt;li&gt;🐍 Installing Python, Git, pip&lt;/li&gt;
&lt;li&gt;📂 Cloning the code repository&lt;/li&gt;
&lt;li&gt;⚙️ Setting up &lt;code&gt;.env&lt;/code&gt; file with keys&lt;/li&gt;
&lt;li&gt;▶️ Running: &lt;code&gt;python3 main.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;📟 Using &lt;code&gt;tmux&lt;/code&gt; — bot works even when terminal is closed&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-want-a-bot-like-this&#34;&gt;📩 Want a bot like this?&lt;/h2&gt;
&lt;p&gt;Write to us — and we’ll automate your team’s tasks together!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contact:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Telegram: &lt;a href=&#34;https://t.me/adjabkhanyan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;@adjabkhanian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email: &lt;a href=&#34;mailto:adjabkhanian@gmail.com&#34;&gt;adjabkhanian@gmail.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;⚡ Automate tasks. Free up time. Grow faster.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Learn Python</title>
      <link>https://example.com/teaching/python/</link>
      <pubDate>Tue, 24 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://example.com/teaching/python/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://hugoblox.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo Blox Builder&lt;/a&gt; is designed to give technical content creators a seamless experience. You can focus on the content and the Hugo Blox Builder which this template is built upon handles the rest.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Embed videos, podcasts, code, LaTeX math, and even test students!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On this page, you&amp;rsquo;ll find some examples of the types of technical content that can be rendered with Hugo Blox.&lt;/p&gt;
&lt;h2 id=&#34;video&#34;&gt;Video&lt;/h2&gt;
&lt;p&gt;Teach your course by sharing videos with your students. Choose from one of the following approaches:&lt;/p&gt;


    
    &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/D2vj0WcvH5c?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;
      &gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Youtube&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; youtube w7Ft2ymGmfc &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Bilibili&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; bilibili id=&amp;quot;BV1WV4y1r7DF&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Video file&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Videos may be added to a page by either placing them in your &lt;code&gt;assets/media/&lt;/code&gt; media library or in your &lt;a href=&#34;https://gohugo.io/content-management/page-bundles/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;page&amp;rsquo;s folder&lt;/a&gt;, and then embedding them with the &lt;em&gt;video&lt;/em&gt; shortcode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; video src=&amp;quot;my_video.mp4&amp;quot; controls=&amp;quot;yes&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;podcast&#34;&gt;Podcast&lt;/h2&gt;
&lt;p&gt;You can add a podcast or music to a page by placing the MP3 file in the page&amp;rsquo;s folder or the media library folder and then embedding the audio on your page with the &lt;em&gt;audio&lt;/em&gt; shortcode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{{&amp;lt; audio src=&amp;quot;ambient-piano.mp3&amp;quot; &amp;gt;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Try it out:&lt;/p&gt;








  








&lt;audio controls &gt;
  &lt;source src=&#34;https://example.com/teaching/python/ambient-piano.mp3&#34; type=&#34;audio/mpeg&#34;&gt;
&lt;/audio&gt;

&lt;h2 id=&#34;test-students&#34;&gt;Test students&lt;/h2&gt;
&lt;p&gt;Provide a simple yet fun self-assessment by revealing the solutions to challenges with the &lt;code&gt;spoiler&lt;/code&gt; shortcode:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;spoiler&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;👉 Click to view the solution&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;You found me!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;spoiler&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;}}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;details class=&#34;spoiler &#34;  id=&#34;spoiler-2&#34;&gt;
  &lt;summary class=&#34;cursor-pointer&#34;&gt;👉 Click to view the solution&lt;/summary&gt;
  &lt;div class=&#34;rounded-lg bg-neutral-50 dark:bg-neutral-800 p-2&#34;&gt;
    You found me 🎉
  &lt;/div&gt;
&lt;/details&gt;
&lt;h2 id=&#34;math&#34;&gt;Math&lt;/h2&gt;
&lt;p&gt;Hugo Blox Builder supports a Markdown extension for $\LaTeX$ math. You can enable this feature by toggling the &lt;code&gt;math&lt;/code&gt; option in your &lt;code&gt;config/_default/params.yaml&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;To render &lt;em&gt;inline&lt;/em&gt; or &lt;em&gt;block&lt;/em&gt; math, wrap your LaTeX math with &lt;code&gt;{{&amp;lt; math &amp;gt;}}$...${{&amp;lt; /math &amp;gt;}}&lt;/code&gt; or &lt;code&gt;{{&amp;lt; math &amp;gt;}}$$...$${{&amp;lt; /math &amp;gt;}}&lt;/code&gt;, respectively.&lt;/p&gt;
&lt;div class=&#34;flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900&#34;&gt;
&lt;span class=&#34;pr-3 pt-1 text-primary-600 dark:text-primary-300&#34;&gt;
  &lt;svg height=&#34;24&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34;&gt;&lt;path fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; stroke-width=&#34;1.5&#34; d=&#34;m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z&#34;/&gt;&lt;/svg&gt;
&lt;/span&gt;
  &lt;span class=&#34;dark:text-neutral-300&#34;&gt;We wrap the LaTeX math in the Hugo Blox &lt;em&gt;math&lt;/em&gt; shortcode to prevent Hugo rendering our math as Markdown.&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Example &lt;strong&gt;math block&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;{{&lt;/span&gt;&amp;lt; math &amp;gt;&lt;span class=&#34;nb&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\gamma&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;_{n} &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\frac&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{ &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; | &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n} &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;} &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;^T &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; x_{n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; |}{&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\left&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\|\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{x}_{n}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\nabla&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; F&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\mathbf&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{x}_{n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\right&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\|&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;^&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;{{&lt;/span&gt;&amp;lt; /math &amp;gt;&lt;span class=&#34;nb&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;

$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$


&lt;p&gt;Example &lt;strong&gt;inline math&lt;/strong&gt; &lt;code&gt;{{&amp;lt; math &amp;gt;}}$\nabla F(\mathbf{x}_{n})${{&amp;lt; /math &amp;gt;}}&lt;/code&gt; renders as $\nabla F(\mathbf{x}_{n})$
.&lt;/p&gt;
&lt;p&gt;Example &lt;strong&gt;multi-line math&lt;/strong&gt; using the math linebreak (&lt;code&gt;\\&lt;/code&gt;):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;{{&lt;/span&gt;&amp;lt; math &amp;gt;&lt;span class=&#34;nb&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;sb&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;k;p_{&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}^{&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\begin&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{cases}p_{&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}^{&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;} &amp;amp; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\text&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{if }k&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;p_{&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}^{&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;} &amp;amp; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\text&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{if }k&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;\end&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{cases}&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;$$&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;{{&lt;/span&gt;&amp;lt; /math &amp;gt;&lt;span class=&#34;nb&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;


$$
f(k;p_{0}^{*}) = \begin{cases}p_{0}^{*} &amp; \text{if }k=1, \\
1-p_{0}^{*} &amp; \text{if }k=0.\end{cases}
$$



&lt;h2 id=&#34;code&#34;&gt;Code&lt;/h2&gt;
&lt;p&gt;Hugo Blox Builder utilises Hugo&amp;rsquo;s Markdown extension for highlighting code syntax. The code theme can be selected in the &lt;code&gt;config/_default/params.yaml&lt;/code&gt; file.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```python
import pandas as pd
data = pd.read_csv(&amp;quot;data.csv&amp;quot;)
data.head()
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;renders as&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pandas&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;read_csv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;data.csv&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;inline-images&#34;&gt;Inline Images&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{{&amp;lt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;icon&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;python&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;}}&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;renders as&lt;/p&gt;
&lt;p&gt;
  &lt;span class=&#34;inline-block  pr-1&#34;&gt;
    &lt;svg style=&#34;height: 1em; transform: translateY(0.1em);&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1em&#34; viewBox=&#34;0 0 448 512&#34; fill=&#34;currentColor&#34;&gt;&lt;path d=&#34;M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z&#34;/&gt;&lt;/svg&gt;
  &lt;/span&gt; Python&lt;/p&gt;
&lt;h2 id=&#34;did-you-find-this-page-helpful-consider-sharing-it-&#34;&gt;Did you find this page helpful? Consider sharing it 🙌&lt;/h2&gt;
</description>
    </item>
    
  </channel>
</rss>
