Bu proje, Telegram gruplarında "Kim Milyoner Olmak İster?" yarışmasını oynatmak için bir botdur.
- Gruplarda çoklu oyuncu ile yarışma
- Her soru için 30 saniye cevaplama süresi
- Zorluk seviyeleri (1-10 arası)
- İstatistik takibi (oyun sayısı, doğru cevaplar, kazanılan oyunlar)
- Özel mesajlar ile soru gönderilir
- Python 3.6 veya üzeri
pippaket yöneticisi
-
Depoyu klonlayın:
git clone https://github.com/king0din/tgmilyonerbot.git cd tgmilyonerbot -
Sanal ortam oluşturup etkinleştirin (isteğe bağlı):
python3 -m venv venv source venv/bin/activate # Linux/Mac için bu komut venv\Scripts\activate # Windows içinde bu komutu kulanın
-
Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
-
Soruları hazırlayın isteğe bağlı varsayıan olarak 1000 tane soru vardır bu adımı atlayabilirsiniz:
questionsdizinin içinde ki zorluk seviyelerine göre json dosyaları var bunların içerisinse örnek sorular var içerisine bulabildiğiniz kadar soru doldurun:cd questions- Her zorluk seviyesi için 1 ila 10 arazında zorluk seviyesi olan JSON dosyaları vardır (örnek:
level_1.json,level_2.json, ...level_10.json). Her dosya, aşağıdaki formattaki gibi sorular içermelidir:[ { "question": "Soru metni", "options": ["Seçenek1", "Seçenek2", "Seçenek3", "Seçenek4"], "correct": "Doğru Seçenek" }, { "question": "Soru metni2", "options": ["Seçenek1", "Seçenek2", "Seçenek3", "Seçenek4"], "correct": "Doğru Seçenek" } ]-
Aşağıdaki komutu kullanarak dosyayı açıp içine sorular ekleyebilirsiniz dilersenizde şimdilik bu adımı atlayabilirsiniz.
nano level_1.json
windows için:
notepad level_1.json
veya hangi zorluk sevyesindeki dosyaya eklemek istiyorsanız numarasını yazablirsiniz
nano level_(zorluk_numarası_buraya).json-NOT: varsayılan olarak 1000 adet soru eklidir
-
-
Bot tokenini ayarlayın:
milyoner_bot.pydosyasını açın:
nano milyoner_bot.py-windows için:
notepad milyoner_bot.pyTOKENdeğişkenini bulup kendi bot tokeninizle değiştirin:# Bot token TOKEN = "bot_tokeniniz_buraya" bot = telebot.TeleBot(TOKEN)
- Veritabanını başlatılması:
- Botu ilk çalıştırdığınızda
milyoner_bot.dbadında bir SQLite veritabanı otomotik oluşturulacaktır.
- Botu ilk çalıştırdığınızda
Botu çalıştırmak için:
python milyoner_bot.py- Botu bir Telegram grubuna ekleyin.
- Grupta
/yeniyarismakomutu ile yeni bir yarışma başlatın (sadece yöneticiler). - Katılımcılar
/katilkomutu veya buton ile yarışmaya katılır. - Yeterli katılımcı olduğunda, yarışma sahibi
/baslatkomutu ile yarışmayı başlatır. - Sorular özel mesaj olarak gönderilir. Yarışmacılar 30 saniye içinde cevap verir.
- 2 yanlış cevap veren elenir. Son kalan yarışmacı kazanır.
/startv/yardim: Bot hakkında bilgi ve komut listesi./yeniyarisma [raunt sayısı]: Yeni yarışma başlatır (varsayılan raunt: 10)./katil: Aktif yarışmaya katılır./baslat: Yarışmayı başlatır (sadece yarışma sahibi)./iptal: Yarışmayı iptal eder (sadece yarışma sahibi veya yönetici)./durum: Yarışmanın mevcut durumunu gösterir./istatistik: Özel sohbette kullanıcı istatistiklerini gösterir.
### Dosya Yapısı
Proje dizini şöyle olmalı:
tgmilyonerbot/
├── bot.py
├── requirements.txt
├── README.md
├── questions/
│ ├── level_1.json
│ ├── level_2.json
│ └── ... (level_3.json ... level_10.json)
└── milyoner_bot.db (çalıştırdıktan sonra oluşacak)