Các bot Telegram có sẵn bằng Python có khả năng kiếm tiền

Các bot Telegram có sẵn bằng Python có khả năng kiếm tiền

Telegram không chỉ đơn thuần là ứng dụng trò chuyện và nhóm chat; nó còn mang đến cơ hội khởi nghiệp kinh doanh nhỏ ngay trên điện thoại của bạn. Tất cả những gì bạn cần là một chút thời gian, sự quyết tâm tìm hiểu và bài viết này. Dưới đây là một số ý tưởng bot đơn giản, hiệu quả mà bạn có thể tạo từ đầu và bắt đầu kiếm tiền.

Trong bài viết trước, chúng ta đã thảo luận về các ý tưởng kiếm tiền và thu hút lưu lượng truy cập.

1. Cửa hàng bot hàng hóa kỹ thuật số

Ý tưởng: bán những thứ có thể được cấp phát tự động: tập tin, quyền truy cập, khóa, gói đăng ký.

Một con bot như vậy có thể bán những gì:

  • Plugin, mẫu, danh sách kiểm tra
  • Hình dán và hình nền
  • Hướng dẫn kỹ thuật số
  • Truy cập vào các kênh riêng tư

🔧 Cách triển khai nó trong Python (aiogram)

Dưới đây là một ví dụ rất đơn giản về một bot như vậy và một ví dụ phức tạp hơn một chút sử dụng JSON. Tuy nhiên, một bot thực sự sẽ cần sử dụng API thanh toán thực (ví dụ bên dưới mã) và cơ sở dữ liệu (MySQL, SQLite, PostgreSQL).

@dp.message_handler(commands=['start'])
async def welcome(msg: types.Message):
    kb = InlineKeyboardMarkup().add(InlineKeyboardButton("Купить товар", callback_data='buy'))
    await msg.answer("Добро пожаловать в магазин!", reply_markup=kb)
import json
import os
from aiogram import Bot, Dispatcher, types
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from aiogram.utils import executor
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from dotenv import load_dotenv

load_dotenv()

TOKEN = os.getenv("BOT_TOKEN")
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
dp.middleware.setup(LoggingMiddleware())

# Загружаем список товаров
with open("products.json", "r", encoding="utf-8") as f:
    PRODUCTS = json.load(f)["items"]

# Команда /start
@dp.message_handler(commands=['start'])
async def welcome(msg: types.Message):
    kb = InlineKeyboardMarkup().add(InlineKeyboardButton("🛒 Купить товар", callback_data='buy'))
    await msg.answer("Добро пожаловать в магазин цифровых товаров!", reply_markup=kb)

# Выводим список товаров
@dp.callback_query_handler(lambda c: c.data == 'buy')
async def show_products(callback_query: types.CallbackQuery):
    kb = InlineKeyboardMarkup()
    for product in PRODUCTS:
        kb.add(InlineKeyboardButton(f"{product['title']} — {product['price']}₽", callback_data=f"product_{product['id']}"))
    await bot.send_message(callback_query.from_user.id, "Выберите товар:", reply_markup=kb)

# Подтверждение покупки и ссылка на оплату
@dp.callback_query_handler(lambda c: c.data.startswith("product_"))
async def product_selected(callback_query: types.CallbackQuery):
    product_id = callback_query.data.split("_")[1]
    product = next((item for item in PRODUCTS if item["id"] == product_id), None)

    if not product:
        await bot.send_message(callback_query.from_user.id, "Товар не найден.")
        return

    kb = InlineKeyboardMarkup().add(
        InlineKeyboardButton("✅ Я оплатил", callback_data=f"paid_{product_id}")
    )
    await bot.send_message(
        callback_query.from_user.id,
        f"Товар: {product['title']}\nЦена: {product['price']}₽\n\nОплатить можно по ссылке:\n{product['pay_url']}",
        reply_markup=kb
    )

# Подтверждение оплаты и выдача товара
@dp.callback_query_handler(lambda c: c.data.startswith("paid_"))
async def confirm_payment(callback_query: types.CallbackQuery):
    product_id = callback_query.data.split("_")[1]
    product = next((item for item in PRODUCTS if item["id"] == product_id), None)

    if not product:
        await bot.send_message(callback_query.from_user.id, "Ошибка: товар не найден.")
        return

    # Вариант вручную (доверительный) — для MVP
    try:
        with open(product["file"], "rb") as file:
            await bot.send_document(callback_query.from_user.id, file, caption=f"Вот ваш товар: {product['title']}")
    except Exception as e:
        await bot.send_message(callback_query.from_user.id, "Ошибка при отправке файла.")

# Запуск
if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
  • Thanh toán: qua Robokassa, YuKassa và những người khác.
  • Sau khi thanh toán, bot sẽ gửi sản phẩm (tệp/liên kết).

2. Bot AI (dựa trên ChatGPT)

Ý tưởng: một bot trả lời các câu hỏi của người dùng bằng trí tuệ nhân tạo.

Những gì nó có thể làm:

  • Tạo ra văn bản, ý tưởng, bài viết
  • Trả lời câu hỏi
  • Hỗ trợ học tập
import openai

openai.api_key = "your_openai_key"

@dp.message_handler()
async def gpt_reply(message: types.Message):
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": message.text}]
    )
    await message.reply(response['choices'][0]['message']['content'])

Kiếm tiền:

  • Đăng ký
  • Giới hạn số lượng yêu cầu
  • Quyên góp hoặc ủng hộ

3. Bot khóa học (một bot có các bài học mang tính giáo dục)

Ý tưởng: một bot dạy học thông qua Telegram.

Ví dụ về các khóa học:

  • Học Python từ đầu
  • Thiết kế từ điện thoại
  • Làm thế nào để kiếm tiền trực tuyến

🔧 Phương pháp FSM (aiogram):

Dưới đây là các ví dụ đơn giản và phức tạp hơn.

class Learning(StatesGroup):
    Lesson1 = State()
    Lesson2 = State()

@dp.message_handler(commands=['start_course'])
async def start_course(msg: types.Message):
    await msg.answer("Урок 1: Что такое Python?")
    await Learning.Lesson1.set()
from aiogram import Bot, Dispatcher, types
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.utils import executor

TOKEN = 'YOUR_BOT_TOKEN'

bot = Bot(token=TOKEN)
dp = Dispatcher(bot, storage=MemoryStorage())

# Состояния курса
class Learning(StatesGroup):
    Lesson1 = State()
    Lesson2 = State()
    Done = State()

# Кнопки
kb_next = ReplyKeyboardMarkup(resize_keyboard=True).add(KeyboardButton("➡️ Далее"))

# Команда старта курса
@dp.message_handler(commands=['start_course'])
async def start_course(msg: types.Message):
    await msg.answer("👨‍🏫 Урок 1: Что такое Python?\n\nPython — это простой язык программирования, с которого удобно начинать.\n\n❓Вопрос: Как называется язык, о котором идет речь?", reply_markup=kb_next)
    await Learning.Lesson1.set()

# Проверка ответа на 1 урок
@dp.message_handler(state=Learning.Lesson1)
async def lesson1_handler(msg: types.Message, state: FSMContext):
    if "python" in msg.text.lower():
        await msg.answer("✅ Верно! Переходим к Уроку 2...\n\n🧠 Урок 2: Где используют Python?\n- Веб-сайты\n- ИИ\n- Сценарии автоматизации\n\n❓Вопрос: Назови хотя бы одно применение Python.")
        await Learning.Lesson2.set()
    else:
        await msg.answer("❌ Не совсем. Подсказка: язык начинается на 'P'.")

# Проверка второго ответа
@dp.message_handler(state=Learning.Lesson2)
async def lesson2_handler(msg: types.Message, state: FSMContext):
    if any(keyword in msg.text.lower() for keyword in ['веб', 'бот', 'автоматизация', 'ии', 'сайт']):
        await msg.answer("🎉 Отлично! Ты прошёл мини-курс по Python.\n\nХочешь пройти снова? Напиши /start_course")
        await state.finish()
    else:
        await msg.answer("🤔 Попробуй ещё раз. Например: 'веб-разработка', 'боты' или 'автоматизация'.")

# Фоллбэк
@dp.message_handler(state='*')
async def default_handler(msg: types.Message):
    await msg.answer("Напиши /start_course чтобы начать обучение.")

# Запуск бота
if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)

Cách kiếm tiền:

  • Bán quyền truy cập
  • Tạo khóa học miễn phí với các chương trình liên kết
  • Thêm quảng cáo và liên kết

4. Bot CPA (bot tích hợp chương trình liên kết)

Ý tưởng: một bot cung cấp "phần thưởng" khi người dùng nhấp vào liên kết, và bạn sẽ nhận được tiền từ chương trình tiếp thị liên kết.

🔧 Ví dụ đơn giản:

@dp.message_handler(commands=['start'])
async def start(msg: types.Message):
    kb = InlineKeyboardMarkup().add(
        InlineKeyboardButton("Получить бонус", url="https://ваша-ссылка.ru/?ref=рефералка")
    )
    await msg.answer("Нажми кнопку и получи подарок 🎁", reply_markup=kb)

Các mạng CPA: Admitad, CityAds

Nên chạy bot ở đâu?

Kết luận: Bot Telegram là bước khởi đầu cho dự án của bạn.

Việc xây dựng bot bằng Python hoàn toàn khả thi ngay cả với người mới bắt đầu. Hãy bắt đầu đơn giản, ra mắt sản phẩm tối thiểu khả thi (MVP) và dần dần cải tiến. Một bot hoạt động tốt có thể tạo ra thu nhập thụ động và trở thành điểm khởi đầu cho những dự án lớn hơn.

tài liệu tham khảo

comments

Chưa có bình luận nào. Hãy là người đầu tiên!