Skip to content

Mactor2018/autoPoll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗳️ AutoPoll (PollEverywhere Automation & GUI Tool) / PollEverywhere自动投票

English | 中文


🌍 English

AutoPoll is an advanced monitoring and voting tool for PollEverywhere. It real-time monitors presenter activity and allows for interactive or automatic voting.

✨ Key Features

  • Real-time Monitoring: Low-latency detection of new polls via Firehose.
  • Interactive Voting: Pop-up notifications with option buttons and countdown timers.
  • Auto Fallback: Automatically submits a random vote if no choice is made within the timeout (default 30s).
  • GUI Mode: Clean Tkinter-based interface with status panels, history tables, and interactive dialogs.
  • Windows Notifications: System-level Toast notifications for new polls.
  • Locked Poll Handling: Automatically records failures if a poll is locked by the presenter.

🚀 Getting Started

  1. Clone & Install:
    git clone https://github.com/Mactor2018/autoPoll.git
    cd AutoPoll
    conda create -n autopoll python=3.10 -y
    conda activate autopoll 
    pip install -r requirements.txt
  2. Configuration:
    • Get your polleverywhere_session_id from browser cookies at pollev.com.
    • Run main.py once to generate config.json, then fill in your credentials.
    {
      "host": "your_presenter_id",
      "cookies": {
        "polleverywhere_session_id": "<from browser DevTools>"
      },
      "poll_interval": 5,
      "answer_delay": 2,
      "user_choice_timeout": 30,
      "log_dir": "logs",
      "language": "auto"
    }
    Field Description
    host Presenter ID on PollEverywhere
    polleverywhere_session_id Session cookie from browser (F12 → Application → Cookies)
    poll_interval Polling interval in seconds
    answer_delay Delay before submitting vote (seconds)
    user_choice_timeout Seconds to wait for user choice before auto-submitting
    language "zh" (Chinese), "en" (English), or "auto" (detect from system)
  3. Run:
    • python main.py --gui (GUI Mode)
    • python main.py (Interactive CLI)
    • python main.py --auto (Fully Automatic)

🇨🇳 中文

AutoPoll 是一个为 PollEverywhere 准备的高级自动化监控与投票工具。它能够实时监控主持人的活动,并支持交互式或全自动投票。

✨ 功能特性

  • 实时监控:利用 Firehose 接口低延迟检测新发布的 Poll。
  • 交互式投票:检测到新 Poll 时弹出通知,用户可手动选择选项,带倒计时进度条。
  • 自动兜底:超时未选择时自动随机投票(默认 30s)。
  • GUI 模式:基于 Tkinter 的图形界面,包含状态面板、历史记录表和选项弹窗。
  • 系统通知:支持 Windows 11 系统级 Toast 消息提醒。
  • 锁定处理:若 Poll 被主持人锁定,将自动记录为失败并继续监控。

🚀 快速开始

  1. 克隆与安装
    git clone https://github.com/Mactor2018/autoPoll.git
    cd AutoPoll
    conda create -n autopoll python=3.10 -y
    conda activate autopoll
    pip install -r requirements.txt
  2. 配置说明
    • 从浏览器登录 pollev.com 的 Cookie 中获取 polleverywhere_session_id
    • 运行程序生成 config.json 后,填入主持人 ID 与 Cookie。
    {
      "host": "主持人 ID",
      "cookies": {
        "polleverywhere_session_id": "<从浏览器 DevTools 获取>"
      },
      "poll_interval": 5,
      "answer_delay": 2,
      "user_choice_timeout": 30,
      "log_dir": "logs",
      "language": "auto"
    }
    字段 说明
    host PollEverywhere 主持人 ID
    polleverywhere_session_id 浏览器 Cookie(F12 → Application → Cookies)
    poll_interval 轮询间隔(秒)
    answer_delay 检测到 Poll 后延迟投票时间(秒)
    user_choice_timeout 等待用户选择的超时时间(秒),超时自动提交
    language "zh"(中文)、"en"(英文)或 "auto"(根据系统语言自动判断)
  3. 运行方式
    • python main.py --gui (图形界面模式)
    • python main.py (默认交互模式)
    • python main.py --auto (纯自动随机模式)

⚠️ Disclaimer / 免责声明

This tool is for educational purposes only. Please comply with the terms of service of the target platform and your institution.
本工具仅供学习研究使用,请在使用前确保你遵循了目标平台及相关课程的服务协议。

About

An automatic program that detects a given pollEverywhere page and votes. This guarantees you not miss any interactions given by the host, regardless of the "correct" answer though.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages