/TVTestAnnictRecorder

๐Ÿ“ ่ฆ–่ดใ—ใŸใ‚ขใƒ‹ใƒกใ‚’่‡ชๅ‹•ใง Annict ใซ่จ˜้Œฒใ™ใ‚‹ TVTest ใƒ—ใƒฉใ‚ฐใ‚คใƒณ

Primary LanguageC++MIT LicenseMIT

TVTestAnnictRecorder

GitHub Workflow Status GitHub release (latest by date)

๐Ÿ“ ่ฆ–่ดใ—ใŸใ‚ขใƒ‹ใƒกใ‚’่‡ชๅ‹•ใง Annict ใซ่จ˜้Œฒใ™ใ‚‹ TVTest ใƒ—ใƒฉใ‚ฐใ‚คใƒณ (TVTest 0.9.0 ไปฅ้™ใŒๅฟ…่ฆ)

statusbar.png

Features

  • Annict ใธ่ฆ–่ดใ—ใŸใ‚ขใƒ‹ใƒกใฎ่ฉฒๅฝ“ใ‚จใƒ”ใ‚ฝใƒผใƒ‰ใฎ่จ˜้Œฒใ‚’่‡ชๅ‹•ใง่กŒใ„ใพใ™ใ€‚
    • TvtPlay ใงใƒ•ใ‚กใ‚คใƒซๅ†็”Ÿๆ™‚ใซใ‚‚ๅ‹•ไฝœใ—ใพใ™ใ€‚
    • ๆŒ‡ๅฎšใ—ใŸๆ™‚้–“ใ ใ‘่ฆ–่ดใ—ใŸใจใใซ่จ˜้Œฒใ‚’่กŒใ„ใพใ™ใ€‚(ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€คใฏๆ”พ้€ๆ™‚้–“ใฎ 20%)
    • ใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผ ใซ็™ป้Œฒใ•ใ‚Œใฆใ„ใ‚‹็•ช็ต„ใงๆฉŸ่ƒฝใ—ใพใ™ใ€‚(ใปใจใ‚“ใฉ็ถฒ็พ…ใ•ใ‚Œใฆใ„ใพใ™ใ€‚)
    • ใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผใซใƒ‡ใƒผใ‚ฟใฎใชใ„ AT-X ใฎใƒชใƒ”ใƒผใƒˆๆ”พ้€ใ‚„, ไธ€ๆŒ™ๆ”พ้€ใซใ‚‚ๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚
    • ็•ช็ต„ใซ่ค‡ๆ•ฐใฎใ‚จใƒ”ใ‚ฝใƒผใƒ‰ใŒใ‚ใ‚‹ๅ ดๅˆ (2่ฉฑๅŒๆ™‚ๆ”พ้€็ญ‰) ใ™ในใฆใฎใ‚จใƒ”ใ‚ฝใƒผใƒ‰ใซ่จ˜้Œฒใ‚’่กŒใ„ใพใ™ใ€‚
    • ใ‚นใƒ†ใƒผใ‚ฟใ‚นใƒใƒผใซ Annict ใธใฎ่จ˜้Œฒ็ŠถๆณใŒ้€š็Ÿฅใ•ใ‚Œ, ใ‚ฏใƒชใƒƒใ‚ฏใ—ใŸ้š›ใซใฏ่ฉฒๅฝ“ใฎ Annict ใฎใƒšใƒผใ‚ธใซ้ฃ›ใถใ‚ˆใ†ใซใชใฃใฆใ„ใพใ™ใ€‚
  • ๆฌกใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใŒใ‚ใ‚Šใพใ™ใ€‚
    • ่จ˜้ŒฒใจๅŒๆ™‚ใซ Twitter ใ‚„ Facebook ใซๆŠ•็จฟใ™ใ‚‹ใ€‚
    • ็ฌฌ1่ฉฑ (ใพใŸใฏๆœ€็ต‚่ฉฑไปฅๅค–ใฎใ‚จใƒ”ใ‚ฝใƒผใƒ‰) ใ‚’่ฆ–่ดใ—ใŸ้š›ใซ Annict ใงใฎไฝœๅ“ใฎใ‚นใƒ†ใƒผใ‚ฟใ‚นใ‚’ใ€Œ่ฆ‹ใฆใ‚‹ใ€ใซๅค‰ๆ›ดใ™ใ‚‹ใ€‚
    • ๆœ€็ต‚่ฉฑใ‚’่ฆ–่ดใ—ใŸ้š›ใซ Annict ใงใฎไฝœๅ“ใฎใ‚นใƒ†ใƒผใ‚ฟใ‚นใ‚’ใ€Œ่ฆ‹ใŸใ€ใซๅค‰ๆ›ดใ™ใ‚‹ใ€‚
    • ๆ—ขใซใ€Œ่ฆ‹ใŸใ€ใซใชใฃใฆใ„ใ‚‹ไฝœๅ“ใงใฏใ€Œ่ฆ‹ใฆใ‚‹ใ€ใซๅค‰ๆ›ดใ—ใชใ„ใ€‚

Limitations

TVTestAnnictRecorder ใŒ่จ˜้Œฒใ‚’่กŒใ†ใŸใ‚ใซใฏไปฅไธ‹ใฎๆกไปถใ‚’ๆบ€ใŸใ™ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

  • ใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผ ใซๆ”พ้€ๅฑ€ใŒ็™ป้Œฒใ•ใ‚Œใฆใ„ใ‚‹
    • ไธ€่ฆงใฏใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผใฎ ็™ป้Œฒใƒใƒฃใƒณใƒใƒซ ใ‹ใ‚‰็ขบ่ชใงใใพใ™ใ€‚
    • ไธ€่ฆงใซใชใ„ๅ ดๅˆ (ๆ”พ้€ๅฑ€ใŒๅœจไบฌใ‚ญใƒผๅฑ€ใฎ็ณปๅˆ—ๅฑ€ใฎๅ ดๅˆ) ใ‚‚ๅ•้กŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚
  • ใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผใซๆ”พ้€ๆ™‚้–“ใŒ็™ป้Œฒใ•ใ‚Œใฆใ„ใ‚‹
    • ๆœ‰ๅฟ—ใฎๆ–นใ€…ใŒใƒ‡ใƒผใ‚ฟใ‚’็™ป้Œฒใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚
    • AT-X ใฎๅ ดๅˆ, ใƒชใƒ”ใƒผใƒˆๆ”พ้€ใฏใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผใซๆ”พ้€ๆ™‚้–“ใŒ็™ป้Œฒใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚ใใฎๅ ดๅˆใฏ็•ช็ต„ๅใ‹ใ‚‰ไฝœๅ“ๅใจ่ฉฑๆ•ฐใ‚’ๆŠฝๅ‡บใ—ใพใ™ใ€‚Annict ใซๅฎŒๅ…จไธ€่‡ดใ™ใ‚‹ไฝœๅ“ๅใŒ่ฆ‹ใคใ‹ใฃใŸๅ ดๅˆใซใฎใฟ่จ˜้ŒฒใŒ่กŒใ‚ใ‚Œใพใ™ใ€‚
  • ใ—ใ‚‡ใผใ„ใ‚ซใƒฌใƒณใƒ€ใƒผใจ Annict ใง็›ธไบ’ๅค‰ๆ›ใงใใ‚‹
    • kawaiioverflow/arm ใ‚’ๅˆฉ็”จใ—ใฆใ„ใพใ™ใ€‚
    • ้ ป็นใซๆ›ดๆ–ฐใ•ใ‚ŒใฆใŠใ‚Š, ๆœ€่ฟ‘ใฎใ‚ขใƒ‹ใƒกใชใ‚‰้–“้•ใ„ใชใ่ฟฝๅŠ ใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚
    • ไปฃๆ›ฟใ‚ฝใƒผใ‚นใจใ—ใฆ SlashNephy/arm-supplementary ใ‚’ๅˆฉ็”จใ—ใฆใ„ใพใ™ใ€‚

Configuration

AnnictRecorder.ini ใ‚’็ทจ้›†ใ—ใฆใใ ใ•ใ„ใ€‚

[Annict]
; Annict ใฎๅ€‹ไบบ็”จใ‚ขใ‚ฏใ‚ปใ‚นใƒˆใƒผใ‚ฏใƒณใ‚’่จญๅฎšใ—ใพใ™ใ€‚ใƒˆใƒผใ‚ฏใƒณใŒ่จญๅฎšใ•ใ‚Œใฆใ„ใชใ„ๅ ดๅˆ, ่จ˜้Œฒใฏ่กŒใ„ใพใ›ใ‚“ใ€‚
; https://annict.com/settings/tokens/new ใง็™บ่กŒใงใใพใ™ใ€‚
; ใ‚นใ‚ณใƒผใƒ—ใ‚’ใ€Œ่ชญใฟๅ–ใ‚Š + ๆ›ธใ่พผใฟใ€ใซ่จญๅฎšใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚
; Token=xxx

[Record]
; ่ฆ–่ดใ‚’้–‹ๅง‹ใ—ใฆใ‹ใ‚‰ Annict ใซ่จ˜้Œฒใ™ใ‚‹ใพใงใฎ้–พๅ€ค (%)
; ไพ‹ใˆใฐ 20 ใฎๅ ดๅˆ, ็•ช็ต„ใฎๆ”พ้€ๆ™‚้–“ใฎ 20% ่ฆ–่ดใ—ใŸๅ ดๅˆใซ่จ˜้Œฒใ—ใพใ™ใ€‚
; ้€”ไธญใ‹ใ‚‰่ฆ–่ดใ—ใŸๅ ดๅˆใฏ่ฆ–่ด้–‹ๅง‹ๆ™‚้–“ใ‹ใ‚‰ 20% ๅˆ†่ฆ–่ดใ—ใŸๅ ดๅˆใซ่จ˜้Œฒใ—ใพใ™ใ€‚
; TvtPlay ใงๅ†็”Ÿๆ™‚ใซใ‚‚ๅŒๆง˜ใชๅˆคๅฎšใŒ่กŒใ‚ใ‚Œใพใ™ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 20
; ThresholdPercent=20

; ใ‚จใƒ”ใ‚ฝใƒผใƒ‰ใฎ่จ˜้ŒฒใจๅŒๆ™‚ใซ Twitter ใซๆŠ•็จฟใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚
; Annict ใซ็™ป้Œฒใ•ใ‚Œใฆใ„ใ‚‹ Twitter ใ‚ขใ‚ซใ‚ฆใƒณใƒˆใŒไฝฟ็”จใ•ใ‚Œใพใ™ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; ShareOnTwitter=1

; ใ‚จใƒ”ใ‚ฝใƒผใƒ‰ใฎ่จ˜้ŒฒใจๅŒๆ™‚ใซ Facebook ใซๆŠ•็จฟใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚
; Annict ใซ็™ป้Œฒใ•ใ‚Œใฆใ„ใ‚‹ Facebook ใ‚ขใ‚ซใ‚ฆใƒณใƒˆใŒไฝฟ็”จใ•ใ‚Œใพใ™ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; ShareOnFacebook=1

; ็ฌฌ1่ฉฑใ‚’่ฆ–่ดใ—ใŸ้š›ใซไฝœๅ“ใฎใ‚นใƒ†ใƒผใ‚ฟใ‚นใ‚’ใ€Œ่ฆ‹ใฆใ‚‹ใ€ใซๅค‰ๆ›ดใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; SetWatchingStatusInFirstEpisode=1

; ็ฌฌ1่ฉฑใซ้™ใ‚‰ใš่ฆ–่ดใ—ใŸไฝœๅ“ใฎใ‚นใƒ†ใƒผใ‚ฟใ‚นใ‚’ใ€Œ่ฆ‹ใฆใ‚‹ใ€ใซๅค‰ๆ›ดใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚(ๆœ€็ต‚่ฉฑใ‚’้™คใ)
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; SetWatchingStatusInAnyEpisodes=1

; ๆœ€็ต‚่ฉฑใ‚’่ฆ–่ดใ—ใŸ้š›ใซไฝœๅ“ใฎใ‚นใƒ†ใƒผใ‚ฟใ‚นใ‚’ใ€Œ่ฆ‹ใŸใ€ใซๅค‰ๆ›ดใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; SetWatchedInLastEpisode=1

; ๆ—ขใซใ€Œ่ฆ‹ใŸใ€ใซใชใฃใฆใ„ใ‚‹ไฝœๅ“ใงใฏไธŠ่จ˜ใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใซใ‚ˆใ‚Šใ€Œ่ฆ‹ใฆใ‚‹ใ€ใซๅค‰ๆ›ดใ•ใ‚Œใชใ„ใ‚ˆใ†ใซใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; SkipUpdateStatusIfAlreadyWatched=1

; ๆ—ขใซใ€Œ่ฆ‹ใŸใ€ใจใชใฃใฆใ„ใ‚‹ไฝœๅ“ใงใ‚‚ [ๆ–ฐ] ใƒ•ใƒฉใ‚ฐใŒไป˜ใ„ใฆใ„ใ‚‹็•ช็ต„ใ‚’่ฆ–่ดใ—ใŸ้š›ใซไธŠ่จ˜ใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใซใ‚ˆใ‚Šใ€Œ่ฆ‹ใฆใ‚‹ใ€ใซๅค‰ๆ›ดใ•ใ‚Œใ‚‹ใ‚ˆใ†ใซใ™ใ‚‹ใ‹ใฉใ†ใ‹ใ€‚
; ๅˆ†ๅ‰ฒ2ใ‚ฏใƒผใƒซใฎใ‚ˆใ†ใซๅŒใ˜ไฝœๅ“ใงใ‚ใฃใฆใ‚‚ [็ต‚] ใฎใ‚ใจใซ [ๆ–ฐ] ใจใชใ‚‹ใ‚ˆใ†ใชใ‚ฑใƒผใ‚นใงๆœ‰ๅŠนใงใ™ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; SetWatchingStatusOnFirstEpisodeEvenIfWatched=1

; 1 ใซๅค‰ๆ›ดใ™ใ‚‹ใจๅฎŸ้š›ใซ่จ˜้Œฒใฏ่กŒใ„ใพใ›ใ‚“ใ€‚ใƒ‡ใƒใƒƒใ‚ฐ็”จใงใ™ใ€‚
; ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅ€ค: 0
; DryRun=1

Build

ไพๅญ˜้–ขไฟ‚ใฏ vcpkg ใง็ฎก็†ใ•ใ‚Œใฆใ„ใพใ™ใ€‚

vcpkg integrate install

msbuild TVTestAnnictRecorder.sln -property:Configuration="Release" -property:Platform="x64" -m

Acknowledgements

TVTestAnnictRecorder ใฏไปฅไธ‹ใฎใ‚ตใƒผใƒ“ใ‚น, OSS ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’ๅˆฉ็”จใ—ใฆใ„ใพใ™ใ€‚ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

License

TVTestAnnictRecorder is provided under the MIT license.