Discord bot
A Discord bot for NBA 2K box scores
Free to set up · $20 a season when you go live
OVRWire runs your NBA 2K league on the web and in Discord: members enter and check the result; the other team reviews it. Confirmed results update standings and stats. Players post the box-score screenshot in #box-scores, or in the game's thread, the way they already do. Once connected, OVRWire checks the chosen channel for new screenshots. OVRWire reads the screenshot. The poster checks the numbers and sends them, and if OVRWire can't read one, anyone on the team can type the numbers in. OVRWire checks the math on every box score. Anything that doesn't add up is flagged, and the player who posted it fixes it before the other team sees it. The other team's captain or co-captain confirms the box score or taps Something's wrong, before the deadline shown on the game. Finals post in #scores, the standings stay up to date in one message in #standings, and every game gets its own thread. OVRWire never renames, moves, deletes or changes anything it didn't create. Going live costs $20 per league-season, tax included. OVRWire is independent and isn't affiliated with 2K, the NBA or Discord.
How it works
- Add the bot. Most leagues already have a server. Tap Add OVRWire to my server, approve it in Discord, check the plan, then tap Looks good. Not a server admin? Tap Ask a server admin and send them the link. They don't need an OVRWire account.
- Players post the box score. Players post the box-score screenshot in #box-scores, or in the game's thread, the way they already do. Once connected, OVRWire checks the chosen channel for new screenshots. OVRWire reads the screenshot. The poster checks the numbers and sends them, and if OVRWire can't read one, anyone on the team can type the numbers in. OVRWire reacts 👀 and replies "Got it: Night Shift vs Low Post Club. Checking…". When the game is final, 👀 becomes ✅. If something needs a look, ⚠️ Needs a fix comes with a Fix it button. Or type /submit and attach the screenshot, or right-click the message and choose Apps → Send to OVRWire. On the website, open the game and choose Post box score. Enter and check the result manually. If your league requires a screenshot, attach it before sending.
- OVRWire checks it. OVRWire checks the math on every box score: each player's points match their shots, makes never beat attempts, the players add up to the TOTAL row, and the quarters add up to the final. Two different AI models read each screenshot: one reads the whole box score, and a second one checks the totals and the score. Anything that doesn't add up is flagged, and the player who posted it fixes it before the other team sees it.
- The other team checks it. For typed numbers, the other team's captain or co-captain confirms the box score or taps Something's wrong before the deadline shown on the game. A checked screenshot is final at once, and they can ask for a review until the time shown. They can confirm on the website or with the buttons OVRWire sends in Discord. In the regular season, a clean read that its poster checked is final right away, unless a warning needs a look or your commissioner reviews every game. The other team can still ask the commissioner for a review until the time shown on the game, and the score counts while it's checked. In the playoffs, it becomes final at the deadline shown on the game if nobody disputes it.
- The final posts. Only final games count. Standings, leaders, team pages and player pages update from them. Finals post in #scores, the standings stay up to date in one message in #standings, and every game gets its own thread.
Shown: a sample game
Night Owls League · Night Shift vs Low Post Club
- A Night Shift player posts the box-score screenshot in #box-scores.
- OVRWire reacts 👀 and replies "Got it: Night Shift vs Low Post Club. Checking…"
- The player checks the numbers, or types them in, and sends them to Low Post Club.
- Low Post Club's captain taps Confirm.
- 👀 becomes ✅, and the game shows Final · Low Post Club confirmed.
What's included
- OVRWire uses these channels: #box-scores, #scores, #standings, #on-the-wire, #schedule and #commish-log.
- Players can look things up with /standings, /schedule and /me.
- OVRWire can give players their team's role and take it away when rosters change.
- Until a game is final, only league members see its numbers, and OVRWire's Discord posts show no numbers.
- Remove everything OVRWire added takes out only what OVRWire made.
- One price for the whole league, however many teams.
Limits
- The reader can make mistakes. It fills in the numbers; people confirm them.
- On busy nights, reading may take a few hours. You can type the numbers in instead.
- Console screenshots read best: the GAME STATS screen, with both TOTAL rows and the scoreboard in view.
- Console screenshots and phone photos of the TV both work, as long as the numbers are readable. Both go through the same checks.
- Up to 4 screenshots per message, and up to 5 per person every 10 minutes.
- Built for the NBA 2K27 5v5 box score.
- OVRWire doesn't connect to your 2K account. It works from the box-score screenshot.
- OVRWire staff don't run your league or decide games. Your league's commissioner settles disputes and corrections, in public.
- To go live, a league needs at least 2 teams. Discord is recommended. Captains can submit box scores on the web without a connected server.
Questions
Does it work with the server and bots we already have?
Yes. The plan reuses your channels and team roles and adds only what's missing. OVRWire never renames, moves, deletes or changes anything it didn't create. It works alongside the other bots in your server.
What does the bot read in our server?
In your server, the bot reads new messages only in the box-score channel your league picks and in the game threads it starts. It keeps the screenshots, not the text. It doesn't read any other channel, or anything posted before your league connected. Screenshots are read by Google's Gemini API on its free tier, with Cloudflare Workers AI as the backup. Google may use what it reads to improve its products; the Privacy Policy explains, including when only Cloudflare reads a screenshot. They get the image and fixed instructions. No names, team names or messages are sent with it.
What can the bot change in our server?
OVRWire never asks for Administrator, Manage Server or Manage Messages, and it never pings @everyone. It does ask for Manage Channels and Manage Roles, so it can add the channels and team roles in its plan. Discord lists every permission before you approve it. Remove everything OVRWire added takes out only what OVRWire made.
Who has to sign in?
Anyone on either team can post the box score. Whoever posts it signs in to OVRWire once with Discord first. For typed numbers, the other team's captain or co-captain confirms the box score or taps Something's wrong before the deadline shown on the game. For a checked screenshot that's already final, they can ask for a review until the time shown. If that team has no captain with an account, any claimed player on its roster can.
Can the bot keep our standings in Discord?
Yes. Finals post in #scores, the standings stay up to date in one message in #standings, and every game gets its own thread. Players can look things up with /standings, /schedule and /me. Going live makes your league's pages public, every game counts, standings and stats publish, and OVRWire posts to your Discord if you connect a server.
Start your league
Setting up in private works without the bot. When you're ready, connect your Discord server: Add OVRWire to my server, then Looks good.
Questions
Common questions
Is there a Discord bot for NBA 2K box scores?
Yes. Once the OVRWire bot is connected to the league's Discord server, players post screenshots in the chosen box-score channel. OVRWire reads it and checks that the numbers add up. In the regular season, a clean, unedited read that its poster checked is final right away, unless a warning needs a look or the commissioner reviews every game. The other team can ask for a review until the deadline shown; the score counts meanwhile. Typed or edited numbers need the other team or the commissioner. If OVRWire can't read a screenshot, anyone on the team can type the numbers in.
How do I set up a Discord server for a 2K league?
Most leagues already have a server: tap Add OVRWire to my server, approve it in Discord, check the plan, then tap Looks good. The plan reuses your channels and team roles and adds only what's missing. OVRWire never renames, moves, deletes or changes anything it didn't create.
Is there a Discord bot for NBA 2K league standings?
Yes. With OVRWire, finals post in #scores, the standings stay up to date in one message in #standings, and every game gets its own thread. Players can look things up with /standings, /schedule and /me.
Does the OVRWire bot work with the other bots in my server?
Yes: the OVRWire bot works alongside the other bots in your server. OVRWire never asks for Administrator, Manage Server or Manage Messages, and it never pings @everyone. "Remove everything OVRWire added" takes out only what OVRWire made.
Keep going
NBA 2K league software: run your league on Discord
Set up an NBA 2K league on OVRWire: your teams, their links and roster imports, free to start.
Switching your 2K league from another site
Switching your NBA 2K league to OVRWire? Your teams and rosters come with you, free. Here's what moves over, what doesn't, and how to start.
Is OVRWire free?
What's free while you set up, and what a season costs for the whole league.
How to start a 2K league
Every setup step, from your league's name to your teams' captain links.
Bring your league to OVRWire
Free to set up. You only pay when you go live.