สำหรับการแก้ไขปัญหาและการแจ้งเตือนการเผยแพร่ โปรดเข้าร่วม Discord!
เพย์พาล:
BTC: bc1q3wxm269mdmwdqjqkxgt7s5zp8ah05dexdua0zv
ETH: 0x8c096710e3621fe5f8E384efBd17D8E3E798Dc0c (Cryptik.eth)
DOGE: D6n2g2KGdqEwR4MhhT7uAdvZFaTwqwd6rS
เวนโม่: @dtcarls
พื้นที่เก็บข้อมูลนี้รันแชทบอท GroupMe, Discord หรือ Slack เพื่อส่งข้อมูล ESPN Fantasy Football ไปยังห้องแชท GroupMe, Discord หรือ Slack
สิ่งนี้ทำอะไร?
ลิงค์กำหนดการ: https://www.gamedaybot.com/message-schedule/
ส่งข้อความต่อไปนี้ตามกำหนดเวลานี้:
คะแนนปิด - จันทร์ - 18:30 น. ตามเวลาชายฝั่งตะวันออก (เกมที่อยู่ห่างจากกันไม่เกิน 16 แต้มเพื่อจับตาดูในเกมคืนวันจันทร์)
ตารางคะแนน - จันทร์ อังคาร ศุกร์ - 07:30 น. ตามเวลาท้องถิ่น (กระดานคะแนนแฟนตาซี ESPN ปัจจุบัน)
ถ้วยรางวัล - อังคาร - 7:30 น. ตามเวลาท้องถิ่น (คะแนนสูง คะแนนต่ำ ชนะมากที่สุด ชนะใกล้เคียงที่สุด)
อันดับกำลัง - อังคาร - 18:30 น. ตามเวลาท้องถิ่น
อันดับปัจจุบัน - พุธ - 07:30 น. ตามเวลาท้องถิ่น
รายงานการสละสิทธิ์ - พุธ - 7:30 น. ตามเวลาท้องถิ่น
แมตช์ - พฤหัสบดี - 19:30 น. ตามเวลาฝั่งตะวันออก (แมตช์ที่กำลังจะมีขึ้น)
รายงานผู้เล่นที่ต้องติดตาม - อาทิตย์ - 7:30 น. ตามเวลาท้องถิ่น (ผู้เล่นในรายชื่อผู้เล่นตัวจริงที่น่าสงสัย น่าสงสัย หรือออก)
ตารางคะแนน - อาทิตย์ - 16.00 น., 20.00 น. ตามเวลาชายฝั่งตะวันออก (กระดานคะแนนแฟนตาซี ESPN ปัจจุบัน)
การตั้งค่า GroupMe, Discord หรือ Slack และปรับใช้แอปใน Heroku
การตั้งค่า GroupMe
การตั้งค่าหย่อน
การตั้งค่าความไม่ลงรอยกัน
การตั้งค่า Heroku
ลีกส่วนตัว
การแก้ไขปัญหา/คำถามที่พบบ่อย
เริ่มต้นการพัฒนาและการทดสอบ
การติดตั้งเพื่อการพัฒนา
ตัวแปรสภาพแวดล้อม
ทำงานด้วยนักเทียบท่า
ทำงานโดยไม่มีนักเทียบท่า
ดำเนินการทดสอบ
ทั้งหมดนี้ดูซับซ้อนและสับสนเกินไปใช่ไหม ไม่รู้ว่า “เฮโรกุ” คืออะไร? ลองพิจารณาดูที่ https://www.GameDayBot.com/ ซึ่งฉันให้บริการโฮสติ้งและพยายามอย่างเต็มที่เพื่อลดความซับซ้อนให้เหลือน้อยที่สุด
อย่าปรับใช้บอทเดียวกัน 2 ตัวในการแชทเดียวกัน โดยทั่วไป คุณควรให้กรรมาธิการของคุณเป็นคนตั้งค่า
ไปที่ www.groupme.com และสมัครหรือเข้าสู่ระบบ
หากคุณยังไม่มีสำหรับลีกของคุณ ให้สร้าง "แชทกลุ่ม" ใหม่
ต่อไปเราจะตั้งค่าบอทสำหรับ GroupMe
ไปที่ https://dev.groupme.com/session/new และเข้าสู่ระบบ
คลิก "สร้างบอท"
สร้างบอทของคุณ GroupMe ทำงานได้ดีในการอธิบายว่าแต่ละสิ่งคืออะไร
หลังจากที่คุณสร้างบอทแล้ว คุณจะเห็นสิ่งที่คล้ายกันนี้ คลิก "แก้ไข"
หน้านี้มีความสำคัญเนื่องจากคุณจะต้องมี "Bot ID" ในหน้านี้ คุณยังสามารถส่งข้อความทดสอบพร้อมกล่องข้อความเพื่อให้แน่ใจว่าได้เชื่อมต่อกับห้องสนทนาของคุณแล้ว หมายเหตุด้านข้าง: หากคุณใช้รหัสบอทที่ปรากฎในหน้าเว็บ คุณจะสแปมห้องสนทนาที่ว่างเปล่า ดังนั้นจึงไม่คุ้มค่ากับความพยายาม
ไปที่ https://slack.com/signin และลงชื่อเข้าใช้พื้นที่ทำงานที่บอทจะเข้าไป
หากคุณยังไม่มีลีกของคุณอยู่แล้ว ให้สร้างช่องลีกใหม่
ต่อไปเราจะตั้งค่าบอทสำหรับ Slack
ไปที่ https://api.slack.com/apps/new
ตั้งชื่อแอป และเลือกพื้นที่ทำงานที่ต้องการจากเมนูแบบเลื่อนลง
เลือกส่วน Webhooks ขาเข้าที่ด้านข้าง
เปลี่ยนการสลับจากปิดเป็นเปิด
เลือกเพิ่ม Webhook ใหม่ลงในพื้นที่ทำงาน
ในรายการดรอปดาวน์โพสต์ที่จะเลือกช่องทางที่คุณต้องการส่งข้อความไป จากนั้นเลือกอนุญาต
หน้านี้มีความสำคัญเนื่องจากคุณจะต้องมี "Webhook URL" ในหน้านี้
เข้าสู่ระบบหรือสร้างบัญชีที่ไม่ลงรอยกัน
ไปที่หรือสร้างเซิร์ฟเวอร์ Discord เพื่อรับข้อความ
เปิดการตั้งค่าเซิร์ฟเวอร์
ไปที่เว็บฮุค
สร้างเว็บฮุค ตั้งชื่อ และเลือกช่องทางที่จะรับข้อความ
บันทึก "Webhook URL" ในหน้านี้
"28 พฤศจิกายน 2022 Heroku หยุดเสนอแผนผลิตภัณฑ์ฟรี"
ฉันเสนอบริการโฮสติ้งที่ต่ำกว่าต้นทุนใหม่ของ Heroku มากที่ https://www.GameDayBot.com/
ไปที่ https://id.heroku.com/login แล้วสมัครหรือเข้าสู่ระบบ
คลิกปุ่มสีม่วงนี้เพื่อปรับใช้โค้ดโดยอัตโนมัติ:
ไปที่แดชบอร์ดของคุณ (https://dashboard.heroku.com/apps) ตอนนี้คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อมเพื่อให้ใช้ได้กับลีกของคุณ คลิกการตั้งค่าที่แดชบอร์ดของคุณ จากนั้นคลิกปุ่ม "Reveal Config Vars" แล้วคุณจะเห็นสิ่งนี้
ตอนนี้เราจะต้องแก้ไขตัวแปรเหล่านี้ (คลิกดินสอทางด้านขวาของตัวแปรเพื่อแก้ไข) หมายเหตุ: แอพจะรีสตาร์ทเมื่อคุณเปลี่ยนตัวแปรใด ๆ ดังนั้นห้องแชทของคุณอาจถูกกึ่งสแปมด้วยข้อความเริ่มต้นว่า "สวัสดี" คุณสามารถ เปลี่ยนตัวแปร INIT_MSG ให้ว่างเปล่าเพื่อไม่ให้มีข้อความเริ่มต้น ควรสังเกตว่า Heroku ดูเหมือนจะรีสตาร์ทแอปประมาณวันละครั้ง
ดูส่วนตัวแปรสภาพแวดล้อมสำหรับเอกสารประกอบ
หลังจากที่คุณตั้งค่าตัวแปรแล้ว คุณจะต้องเปิดใช้งานตัวแปรดังกล่าว ไปที่แท็บ "ทรัพยากร" ของแดชบอร์ดแอป Heroku คุณควรเห็นสิ่งที่ต้องการด้านล่าง คลิกดินสอทางด้านขวาแล้วสลับปุ่มให้เป็นสีน้ำเงินเหมือนในภาพ แล้วคลิก "ยืนยัน"
คุณทำเสร็จแล้ว! ตอนนี้คุณมีแชทบอท GroupMe/Slack/Discord ที่มีคุณสมบัติครบถ้วนสำหรับลีก ESPN แล้ว! หากคุณมี INIT_MSG คุณจะเห็นมันอุทานในห้องสนทนา GroupMe, Discord หรือ Slack ของคุณ
น่าเสียดายที่การปรับใช้เวอร์ชันล่าสุดโดยอัตโนมัติ คุณต้องมีสิทธิ์การเข้าถึงพื้นที่เก็บข้อมูลบน git ของผู้ดูแลระบบ คุณสามารถตรวจสอบการอัปเดตได้ที่หน้า GitHub (https://github.com/dtcarls/fantasy_football_chat_bot/commits/master) แล้วคลิกปุ่มปรับใช้อีกครั้ง อย่างไรก็ตาม การดำเนินการนี้จะปรับใช้อินสแตนซ์ใหม่และตัวแปรจะต้องได้รับการแก้ไขอีกครั้ง
คำแนะนำเหล่านี้จะทำให้คุณได้รับสำเนาของโปรเจ็กต์และทำงานบนเครื่องของคุณเพื่อการพัฒนาและการทดสอบ
ด้วยนักเทียบท่า:
โคลนคอมไพล์ https://github.com/dtcarls/fantasy_football_chat_botcd fantasy_football_chat_bot นักเทียบท่า build -t fantasy_football_chat_bot
ไม่มีนักเทียบท่า:
โคลนคอมไพล์ https://github.com/dtcarls/fantasy_football_chat_botcd fantasy_football_chat_bot pip install -r needs.txt# หรือ#python3 setup.py ติดตั้ง
วาร์ | พิมพ์ | ที่จำเป็น | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|---|---|
บอท_ไอดี | สตริง | สำหรับกรุ๊ปมี | ไม่มี | นี่คือ Bot ID ของคุณจากหน้านักพัฒนา GroupMe |
SLACK_WEBHOOK_URL | สตริง | สำหรับหย่อน | ไม่มี | นี่คือ Webhook URL ของคุณจากหน้า Slack App |
DISCORD_WEBHOOK_URL | สตริง | สำหรับความไม่ลงรอยกัน | ไม่มี | นี่คือ Webhook URL ของคุณจากหน้าการตั้งค่า Discord |
LEAGUE_ID | สตริง | ใช่ | ไม่มี | นี่คือรหัสลีก ESPN ของคุณ |
START_DATE | วันที่ | ใช่ | เริ่มฤดูกาลปัจจุบัน (ปปปป-ดด-วว) | นี่คือเวลาที่บอทจะเริ่มให้ความสนใจและส่งข้อความไปยังแชทของคุณ |
END_DATE | วันที่ | ใช่ | สิ้นสุดฤดูกาลปัจจุบัน (ปปปป-ดด-วว) | นี่คือเวลาที่บอทจะหยุดให้ความสนใจและหยุดส่งข้อความไปยังแชทของคุณ |
LEAGUE_YEAR | สตริง | ใช่ | ปีปัจจุบัน (ปปปป) | ESPN League ปีที่น่าจับตามอง |
เขตเวลา | สตริง | ใช่ | อเมริกา/นิว_ยอร์ค | เขตเวลาที่ข้อความจะมีลักษณะในการส่ง |
INIT_ผงชูรส | สตริง | เลขที่ | ไม่มี | ข้อความที่บอทจะพูดเมื่อเริ่มทำงาน |
TOP_HALF_SCORING | บูล | เลขที่ | เท็จ | หากตั้งค่าเป็น "จริง" เมื่อมีการโพสต์อันดับในวันพุธ จะรวมถึงการอยู่ในครึ่งบนของลีกเพื่อรับคะแนนด้วย และคุณจะได้รับ "ชัยชนะ" เพิ่มเติม |
RANDOM_PHRASE | บูล | เลขที่ | เท็จ | หากตั้งค่าเป็น True เมื่อมีการโพสต์การจับคู่ในวันอังคาร จะมีวลีสุ่มรวมอยู่ด้วย |
MONITOR_รายงาน | บูล | เลขที่ | เท็จ | หากตั้งค่าเป็น True จะให้รายงานผู้เล่นตัวจริงที่เป็นที่น่าสงสัย สงสัย ออกหรือคาดการณ์น้อยกว่า 4 แต้ม |
WAIVER_รายงาน | บูล | เลขที่ | เท็จ | หากตั้งค่าเป็น True จะแสดงรายงานการสละสิทธิ์การเพิ่ม/ลด |
DAILY_WAIVER | บูล | เลขที่ | เท็จ | หากตั้งค่าเป็น True จะแสดงรายงานการสละสิทธิ์การเพิ่ม/ลดรายวัน |
อีเอสพีเอ็น_S2 | สตริง | สำหรับลีกส่วนตัว | ไม่มี | ใช้สำหรับลีกส่วนตัว ดูส่วนลีกส่วนตัวสำหรับเอกสารประกอบ |
สวิด | สตริง | สำหรับลีกส่วนตัว | ไม่มี | ใช้สำหรับลีกส่วนตัว (สามารถกำหนดโดยมีหรือไม่มี {}) ดูเอกสารประกอบในส่วนลีกส่วนตัว |
ใช้ BOT_ID หากใช้ Groupme, DISCORD_WEBHOOK_URL หากใช้ Discord และ SLACK_WEBHOOK_URL หากใช้ Slack (หรือหลายรายการเพื่อรับข้อความในหลายที่)
>>> ส่งออก BOT_ID=[ป้อนรหัสบอท GroupMe ของคุณ] >>> ส่งออก WEBHOOK_URL=[ป้อน URL ของ Webhook ของคุณ] >>> ส่งออก LEAGUE_ID=[ป้อนรหัสลีก ESPN] >>> ส่งออก LEAGUE_YEAR=[ป้อนปีลีก] >>> cd fantasy_football_chat_bot >>> นักเทียบท่ารัน --rm=True -e BOT_ID=$BOT_ID -e LEAGUE_ID=$LEAGUE_ID -e LEAGUE_YEAR=$LEAGUE_YEAR fantasy_football_chat_bot
ใช้ BOT_ID หากใช้ Groupme, DISCORD_WEBHOOK_URL หากใช้ Discord และ SLACK_WEBHOOK_URL หากใช้ Slack (หรือหลายรายการเพื่อรับข้อความในหลายที่)
>>> ส่งออก BOT_ID=[ป้อนรหัสบอท GroupMe ของคุณ] >>> ส่งออก WEBHOOK_URL=[ป้อน URL ของ Webhook ของคุณ] >>> ส่งออก LEAGUE_ID=[ป้อนรหัสลีก ESPN] >>> ส่งออก LEAGUE_YEAR=[ป้อนปีลีก] >>> python3 gamedaybot/espn/espn_bot.py
การทดสอบอัตโนมัติสำหรับแพ็คเกจนี้จะรวมอยู่ในไดเร็กทอรี tests
หลังการติดตั้ง คุณสามารถรันการทดสอบเหล่านี้ได้โดยเปลี่ยนไดเร็กทอรีเป็นไดเร็กทอรี gamedaybot
และรันสิ่งต่อไปนี้:
pip ติดตั้ง -r ข้อกำหนด-test.txtpytest
สำหรับลีกส่วนตัว คุณจะต้องมี swid และ espn_s2 คุณสามารถค้นหาค่าทั้งสองนี้ได้หลังจากเข้าสู่ระบบบัญชี espn fantasy football ของคุณบนเว็บไซต์ของ espn (เบราว์เซอร์ Chrome) คลิกขวาที่ใดก็ได้บนเว็บไซต์แล้วคลิกตัวเลือกตรวจสอบ จากนั้นคลิก Application ที่แถบด้านบน ทางด้านซ้ายใต้ส่วนพื้นที่เก็บข้อมูล คลิกคุกกี้ จากนั้นคลิก http://fantasy.espn.com จากนั้นคุณควรจะสามารถค้นหาตัวแปรและค่า swid และ espn_s2 ของคุณได้
ลีกต้องเต็ม
บอทไม่ทำงาน
คุณพลาดขั้นตอนในคำแนะนำหรือไม่? ลองทำตั้งแต่เริ่มต้นอีกครั้ง หากยังไม่มีโชค ให้เปิดประเด็น (https://github.com/dtcarls/fantasy_football_chat_bot/issues) หรือกระโดดเข้าสู่ความขัดแย้ง (ลิงก์ที่ด้านบนของ readme) เพื่อที่จะได้แบ่งปันคำตอบกับผู้อื่น
อันดับพลังคำนวณอย่างไร?
คำนวณโดยใช้การเหนือกว่า 2 ขั้น รวมถึงคะแนนรวมและส่วนต่างของชัยชนะ ถ่วงน้ำหนัก 80/15/5 ตามลำดับ ฉันจะไม่ใส่ใจกับจำนวนจริงมากนัก แต่จะสนใจช่องว่างระหว่างทีมมากกว่า สามารถดูแหล่งที่มาของการคำนวณทั้งหมดได้ที่นี่: https://github.com/cwendt94/espn-api/pull/12/files หากคุณต้องการบทช่วยสอนเกี่ยวกับเมทริกซ์การครอบงำ: https://www.youtube.com/watch?v=784TmwaHPOw
มีเวอร์ชันนี้สำหรับ Yahoo/CBS/NFL/[insert other site] หรือไม่
ไม่ การดำเนินการนี้จะต้องมีการปรับปรุงที่สำคัญสำหรับไซต์อื่นๆ
ฉันจะตั้งค่าเขตเวลาอื่นได้อย่างไร?
ระบุตัวแปรของคุณhttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
มีเวอร์ชันนี้สำหรับ Messenger/WhatsApp/[แทรกแชทอื่น] หรือไม่?
ไม่ แต่ฉันเปิดให้ดึงคำขอที่ใช้ API ของตนเพื่อการสนับสนุนข้ามแพลตฟอร์มเพิ่มเติม
อันดับของฉันดูผิด ฉันมีเรื่องแปลก (+1) อยู่ในนั้น
TOP_HALF_SCORING: หากตั้งค่าเป็น True เมื่อมีการโพสต์อันดับในวันพุธ จะรวมการชนะคะแนนครึ่งบนด้วย
การชนะครึ่งบนคือการอยู่ในครึ่งบนของลีกเพื่อแต้ม และคุณจะได้รับ "ชัยชนะ" เพิ่มเติม ตัวเลขในวงเล็บ (+1) จะบอกคุณถึงจำนวนชัยชนะที่เพิ่มขึ้นตลอดทั้งฤดูกาลสำหรับการชนะครึ่งบน