Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

your Jewish bot for times, holiness, and daily connection.

License

Notifications You must be signed in to change notification settings

WizardLoop/JewishPulse

✡️✨ JewishPulse

The development of the Jewish Pulse has been temporarily halted, I will soon continue to maintain and improve the code!


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 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 jewishpulse 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 jewishpulse 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 jewishpulse vendor/bin/phpcs

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

docker compose exec jewishpulse 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.

Sponsor this project

Packages

No packages published