Bursa Teknik Üniversitesi öğrencilerinin telegram üzerinden menüye ulaşamını kolaylaştıran bot.
Proje temel olarak Bursa Teknik Üniversitesi yemekhane biriminin kendi sitesinde yayınladığı pdf'i okumakta ve menüyü kullanıcılara telegram üzerinden iletmeyi hedeflemektedir. Üstteki resimde basit komut örnekleri resmedilmiştir. Detaylı ve admin özel komutlar için Kullanım kısmını inceleybilirsiniz.
Bot aktif olarak telegram üzerinde çalışmaktadır.
Bota ulaşmak için : https://t.me/telebtu_bot
(başa dön)
(başa dön)
Bu adımları takip ederek bu projeyi kurabilirsiniz.
-
Projeyi bilgisayarınıza klonlayın
git clone https://github.com/rosebud42/telebtu
-
Virtual Environment kurun
python -m venv venv
Kurduğunuz ortamı aktif kale getirin
Windows için:venv/Scripts/activate.ps1
MacOS / Linux için:
source venv/bin/activate
-
Gerekli paketleri yükleyin
pip install -r requirements.txt
-
main.py üzerindeki tokeni güncelleyin
TOKEN = 'your-token'
Telegram tokeniniz yoksa telegram içerisinde BotFather'dan alabilirsiniz.
-
Eğer projeyi şuan olduğu gibi Koyeb üzerinden çalıştırmak yerine kendi bilgisayarınızda çalıştıracaksanız main.py dosyasında 21 ile 28. satır arasını ve 298 ile 300. satır arasını silmeniz gerekmektedir.
Silmeniz gerek kod parçaları :app = Flask(__name__) @app.route('/health', methods=['GET']) def health_check(): return 'OK', 200 def run_flask(): app.run(host='0.0.0.0', port=8000)
Ve,flask_thread = Thread(target=run_flask) flask_thread.start() tm.sleep(40)
-
Projeyi çalıştırın
python main.py
Artık proje bilgisayarınızda çalışmaya hazır.
(başa dön)
Projeyi çalıştırdıktan sonra kullanabilecek komutlar ve açıklamaları şu şekilde:
/start -> Botu başlatmak için kullanılır.
/komutlar -> Komutlara ulaşmak için kullanılır.
/menu 16 -> Ayın 16.günündeki menüyü iletir. Gün verilmeden '/menu' şeklinde kullanıldığında aynı günün menüsünü iletir.
/abonelik -> Database üzerinde kullanıcının kaydı oluşturulur ve hafta içi her gün 09.00'da günün menüsü iletilir.
/abonelikiptal -> Database üzerinden kullanıcının kaydı silinir.
/aylikmenu -> Ayın menüsü pdf ve resim olarak iletilir.
/idogren -> Kullanıcının telegram id'sini döndürür. Admin ekle ve çıkar işlemleri için ihtiyaç duyulabilmekte.
/adminekle -> Admin özel komuttur ve '/adminekle TELEGRAM-ID' şeklinde kullanılır. Admin eklemek için kullanılır.
/adminsil -> Admin özel komuttur ve '/adminsil TELEGRAM-ID' şeklinde kullanılır. Admin silmek için kullanılır.
/duyuruyap -> Admin özel komuttur ve '/duyuruyap Bu bir duyurudur.' şeklinde kullanılır. Bütün kullanıcılara duyuru iletilir.
Ayrıca internet sitesinden ayın menüsü çekilirken bir sorun olursa adminler maunel olarak pdf'i değiştiribilmektedir. Sohbete direkt olarak pdf'i atmaları yeterlidir.
Kullanıcıların aldığı çeşitli hatalarda adminlerin müdahale edebilmesi için alarm sistemi mevcut. Hata alındığında telegram üzerinden tüm adminlere bildirim gider.
(başa dön)
Efekan Aksoy - efekan_aksoy@hotmail.com
LinkedIn hesabıma ulaşmak için:
Proje linki: https://github.com/rosebud42/telebtu
(başa dön)