Python ile yazılmış, para kazandıran hazır Telegram botları

Python ile yazılmış, para kazandıran hazır Telegram botları

Telegram sadece sohbetler ve kanallardan ibaret değil; aynı zamanda telefonunuzda kendi mini işletmenizi kurma fırsatı da sunuyor . İhtiyacınız olan tek şey biraz zaman, bunu çözme isteği ve bu makale. Aşağıda , sıfırdan oluşturabileceğiniz ve para kazanmaya başlayabileceğiniz bazı hızlı ve çalışan bot fikirleri bulunmaktadır.

Önceki yazımızda, gelir elde etme ve trafik çekme fikirlerini ele aldık.

1. Dijital ürün bot mağazası

Fikir: Otomatik olarak verilebilen şeyler satmak: dosyalar, erişim izinleri, anahtarlar, abonelikler.

Böyle bir bot ne satabilir?

  • Eklentiler, şablonlar, kontrol listeleri
  • Çıkartmalar ve duvar kağıtları
  • Dijital rehberler
  • Özel kanallara erişim

🔧 Python'da nasıl uygulanır (aiogram)

Aşağıda bu tür bir botun çok basit bir örneği ve JSON kullanan biraz daha karmaşık bir örneği bulunmaktadır. Ancak gerçek bir bot için gerçek bir ödeme API'si (kodun altındaki örnekler) ve bir veritabanı (MySQL, SQLite, PostgreSQL) kullanmanız gerekecektir.

@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)
  • Ödeme: aracılığıyla Robokassa, YuKassa ve diğerleri.
  • Ödeme yapıldıktan sonra bot ürünü (dosya/bağlantı) gönderir.

2. Yapay zeka botu (ChatGPT tabanlı)

Fikir şu: Yapay zekâ kullanarak kullanıcı sorularını yanıtlayan bir bot.

Neler yapabilir:

  • Metinler, fikirler, makaleler üretin.
  • Soruları yanıtlayın
  • Çalışmalara yardım
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'])

Para kazanma:

  • Abonelik
  • İstek sayısına sınırlama
  • Bağışlar veya Destekler

3. Kurs botu (eğitim dersleri içeren bir bot)

Fikir: Telegram üzerinden bir şeyler öğreten bir bot.

Örnek dersler:

  • Python'ı sıfırdan öğrenmek
  • Telefondan tasarım yapın
  • İnternetten nasıl para kazanılır

🔧 FSM yaklaşımı (aiogram):

Aşağıda yine basit ve daha karmaşık örnekler verilmiştir.

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)

Nasıl kazanılır:

  • Erişim satışı
  • Ortaklık programlarıyla ücretsiz bir kurs oluşturun
  • Reklam ve bağlantı ekle

4. CPA botu (ortaklık programları içeren bot)

Fikir şu: Bir bağlantıya tıkladığınızda "bonus" sunan bir bot ve siz de ortaklık programından para kazanıyorsunuz.

🔧 Basit bir örnek:

@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 ağları: Admitad, CityAds

Botu nerede çalıştıracağım?

Sonuç: Telegram botu projenizin başlangıcıdır.

Python'da bot oluşturmak yeni başlayanlar için bile erişilebilirdir. Basit başlayın, bir MVP (Minimum Viable Product) piyasaya sürün ve kademeli olarak geliştirin. Çalışan tek bir bot, pasif gelir üretebilir ve daha büyük bir şey için başlangıç ​​noktası olabilir.

referanslar

Yorumlar

Henüz hiç yorum yok. İlk yorumu siz yapın!