{"repo":"yeahjack/chatgpt_zulip_bot","free":true,"listed":false,"github":"https://github.com/yeahjack/chatgpt_zulip_bot","clone":"git clone https://github.com/yeahjack/chatgpt_zulip_bot.git","description":"Zulip-based bot to respond users by ChatGPT","language":"Python","stars":17,"topics":["bot","python","zulip"],"license":"MIT","category":"databases-storage","readme_excerpt":"ChatGPT Zulip Bot An AI-powered Zulip bot for course assistance with different modes for streams and DMs. Features - Stream Mode : RAG-powered Q&A (vector store search, stateless) - DM Mode : Weekly study sessions (user selects week, with follow-up support) - Access Control : Restrict bot to specific Zulip streams and their members - Question Quoting : Responses include quoted original question for context --- How It Works Message Type Mode Behavior -------------- ------ ---------- Stream RAG Searches vector store per query, no conversation memory DM Weekly User specifies week, then can ask follow-up questions Stream Messages When mentioned in a stream ( @ChatGPT what is a DFA? ): - Uses RAG to search relevant course materials - Each question is independent (stateless) - Best for quick Q&A visible to everyone Direct Messages When messaged directly: 1. User must first specify a week with /week N command 2. Bot loads that week's course materials 3. User can ask follow-up questions (conversation is chained) 4. To switch weeks, use /week N again --- File Structure --- Installation 1. Clone and Install 2. Set Up Zulip Bot 1. Go to Zulip Settings → Your bots 2. Create a generic bot 3. Download zuliprc and place in this directory 3. Configure 4. Upload Course Materials (for RAG) 5. Run --- Configuration Setting Required Description --------- ---------- ------------- OPENAI API KEY Yes OpenAI API key MODEL Yes Model name (gpt-4o, gpt-5.2, etc.) ZULIP CONFIG Yes Path to zuliprc file U","default_branch":null,"files":null,"tree":[],"storefront":"/r/yeahjack","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yeahjack/chatgpt_zulip_bot/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}