Fertige Telegram-Bots in Python, die Geld verdienen

Fertige Telegram-Bots in Python, die Geld verdienen

Telegram bietet mehr als nur Chats und Kanäle; es ermöglicht dir auch , direkt auf deinem Smartphone ein kleines Business zu starten. Alles, was du brauchst, ist etwas Zeit, Lernbereitschaft und diesen Artikel. Im Folgenden findest du einige schnell umsetzbare Bot-Ideen, die du von Grund auf selbst erstellen und monetarisieren kannst.

Im vorangegangenen Artikel haben wir Ideen zur Monetarisierung und zur Gewinnung von Besuchern besprochen.

1. Bot-Shop für digitale Güter

Idee: Dinge verkaufen, die automatisch ausgegeben werden können: Dateien, Zugänge, Schlüssel, Abonnements.

Was kann ein solcher Bot verkaufen?

  • Plugins, Vorlagen, Checklisten
  • Aufkleber und Hintergrundbilder
  • Digitale Reiseführer
  • Zugang zu privaten Kanälen

🔧 Wie implementiert man das in Python (aiogram)?

Unten finden Sie ein sehr einfaches Beispiel für einen solchen Bot sowie ein etwas komplexeres Beispiel mit JSON. Ein echter Bot benötigt jedoch eine echte Zahlungs-API (Beispiele unter dem Code) und eine Datenbank (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)
  • Zahlung: via Robokassa, Kassa und andere.
  • Nach Zahlungseingang sendet der Bot das Produkt (Datei/Link).

2. KI-Bot (basierend auf ChatGPT)

Die Idee: ein Bot, der mithilfe künstlicher Intelligenz Benutzeranfragen beantwortet.

Was es kann:

  • Texte, Ideen, Artikel generieren
  • Beantworten Sie Fragen
  • Hilfe bei Studien
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'])

Monetarisierung:

  • Abonnement
  • Begrenzung der Anzahl der Anfragen
  • Spenden oder Zuschüsse

3. Kurs-Bot (ein Bot mit Lernlektionen)

Idee: ein Bot, der über Telegram etwas lehrt.

Beispiele für Kurse:

  • Python von Grund auf
  • Design vom Handy aus
  • Wie man online Geld verdient

🔧 FSM-Ansatz (Aiogramm):

Nachfolgend finden Sie erneut einfache und komplexere Beispiele.

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)

So verdienen Sie Geld:

  • Zugang verkaufen
  • Erstellen Sie einen kostenlosen Kurs mit Affiliate-Programmen
  • Anzeigen und Links hinzufügen

4. CPA-Bot (Bot mit Affiliate-Programmen)

Die Idee: Ein Bot bietet einen „Bonus“ für das Anklicken eines Links an, und Sie erhalten Geld aus dem Partnerprogramm.

🔧 Einfaches Beispiel:

@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)

CPA-Netzwerke: Admitad, CityAds

Wo soll der Bot ausgeführt werden?

Fazit: Ein Telegram-Bot ist der Startschuss für Ihr Projekt.

Einen Bot in Python zu entwickeln ist selbst für Anfänger möglich. Beginnen Sie einfach, veröffentlichen Sie ein MVP (Minimum Viable Product) und verbessern Sie es schrittweise. Ein einzelner funktionierender Bot kann passives Einkommen generieren und den Grundstein für etwas Größeres legen.

Referenzen

Kommentare

Es gibt noch keine Kommentare. Erstelle den ersten!