Skip to content

WizardLoop/JewishPulse


✡️✨ JewishPulse

JewishPulse is a smart Telegram bot that connects users to daily Jewish life — from 📜 Daf Yomi to 🕯 Shabbat times and 🌍 location-based Halachic data.

✡️✨ Time. Holiness. Connection.

AGPL License Made with ❤️ in Israel Docker Ready PHP 8.2+

Telegram Telegram

Telegram


📦 Features

  • 📍 Inline location-based Shabbat times & Daf Yomi
  • 🕯 Real-time candle lighting info
  • 📚 Daily Daf Yomi updates via Hebcal
  • ⚙️ Built using MadelineProto & PHP Coroutine Engine
  • 🌐 Multilingual and Geonames-integrated search

🛠 Installation Setup

1️⃣ Clone the repository

git clone https://github.com/WizardLoop/JewishPulse.git
cd JewishPulse

2️⃣ Install dependencies

Install PHP dependencies using Docker:

docker compose run --rm composer install

3️⃣ Launch the bot

docker compose up --pull always -d

The bot will start running in the background.

🔍 View logs

docker compose logs

Live log output of your bot.


⚙️ Common Commands

Command Description
docker compose build Build the Docker image
docker compose up --pull always -d Start the bot in the background
docker compose down Stop and remove the bot container
docker compose restart Restart the bot quickly
docker compose logs View real-time bot logs
docker compose exec bot composer dump-autoload Reload Composer autoload
docker-compose ps Show the status of Docker containers

🔐 Environment Configuration

Copy the .env.example to .env and customize as needed:

cp .env.example .env

Fill in values like:

  • API_ID
  • API_HASH
  • BOT_TOKEN
  • ADMIN_ID
  • GEONAMES_USERNAME

🌐 Inline Location Search

Type @YourBotUsername your_city_name in any chat to:

  • Set Shabbat timezones

🧪 Testing & Code Quality

This project uses PHPUnit for unit testing and PHP_CodeSniffer / PHP-CS-Fixer for code style enforcement.

✅ Running Tests

To run all unit tests:

docker compose exec bot vendor/bin/phpunit

Tests live in the /tests directory and follow PSR standards.

🎨 Code Style

Run PHP_CodeSniffer to check your code:

docker compose exec bot vendor/bin/phpcs

Auto-fix code style issues using PHP-CS-Fixer:

docker compose exec bot vendor/bin/php-cs-fixer fix

🛠 Advanced Usage

  • 📡 Geolocation-based Halachic times (via GeoNames API)
  • 🔄 Persistent storage of user location
  • 🕍 Personalized Zmanim via Hebcal API
  • 🧪 Fully asynchronous using Amp and MadelineProto
  • ⚙️ GitHub Actions CI with: PHPUnit, PHPCS, CS-Fixer, locale checks, bot output simulation

🤝 Contributing

Pull requests are welcome! To contribute:

  1. Fork the repo
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'Add my feature'
  4. Push to the branch: git push origin feature/my-feature
  5. Open a PR 🙌

📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

See LICENSE for details.


🙏 Acknowledgments


📫 Questions, suggestions, feedback? Open an issue or contact @WizardLoop.

About

Jewish Pulse - Your Jewish Bot for Times, Holiness, and Daily Connection.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published