LiveChat オブジェクト
ライブチャットを取得します。
※指定した動画がアーカイブ済みの場合、自動的にリプレイモードになります
任意のタイミングでget()を呼び出し、bufferに蓄積されたチャットデータを取得します。
from pytchat import LiveChat
livechat = LiveChat(video_id = "Zvp1pJpie4I")
while livechat.is_alive():
try:
chatdata = livechat.get()
for c in chatdata.items:
print(f"{c.datetime} [{c.author.name}]- {c.message}")
chatdata.tick()
except KeyboardInterrupt:
livechat.terminate()
break
パラメータcallbackに任意の関数を指定することでcallbackモードになります。
指定した関数にバックグラウンドでチャットデータを渡します。
(※calllbackモードのときは、get()を使用できません)
from pytchat import LiveChat
import time
def main():
livechat = LiveChat(video_id = "9BVZvdEydKU", callback = disp)
while livechat.is_alive():
#バックグラウンドで行う処理をここに書きます。
time.sleep(1)
livechat.terminate()
#callbackパラメータに指定した関数。
#バックグラウンドで定期的/自動的に呼ばれ、引数にチャットデータが渡されます。
def disp(chatdata):
for c in chatdata.items:
print(f"{c.datetime} [{c.author.name}]- {c.message}")
chatdata.tick()
if __name__ == '__main__':
main()
パラメータ名 |
型 |
必須 |
備考 |
規定値 |
video_id |
str |
* |
動画ID (https://www.youtube.com/watch?v=xxx の「xxx」の部分) |
- |
processor |
ChatProcessor |
|
チャットを加工するオブジェクト |
DefaultProcessor |
buffer |
buffer |
|
チャットデータを蓄積するバッファ |
Buffer(maxsize=20) |
interruptable |
bool |
|
Ctrl+Cでチャット取得を停止するか否か |
True |
callback |
func |
|
一定間隔でチャットデータを渡す関数 |
None |
done_callback |
func |
|
チャット取得終了時に呼び出す関数 |
None |
direct_mode |
bool |
|
Trueの場合、bufferを使用しません。このパラメータをTrueにする場合、callbackにチャットデータを受け取る関数を指定する必要があります。 |
False |
seektime |
int |
|
チャットリプレイの開始時間(秒)。アーカイブチャットのリプレイ時のみ有効。負の数を指定した場合、配信開始前に流れていたチャット(一部)を取得します。 |
0 |
force_replay |
bool |
|
指定した動画IDがライブ状態であっても、強制的にアーカイブされたチャットを取得します。 |
False |
topchat_only |
bool |
|
Trueの場合、上位チャットのみを取得します。(設定しない場合、またはFalseの場合「すべてのチャット」を取得) |
False |
logger |
logging.Logger |
|
ログ出力を取得する場合、任意のLoggerオブジェクトを設定します。 |
logging.NullHandler |
説明 |
戻り値 |
チャットデータをbufferから取得します。 |
ChatProcessorによって加工されたチャットデータ |
(※calllbackパラメータに関数を指定している場合は、get()を使用できません)
説明 |
戻り値の型 |
ライブ動画⇒配信が終わるまでTrue。 注:チャット取得開始時にすでに配信が終わっている場合はリプレイモードに切り替わります。 |
bool |
アーカイブ動画⇒チャットデータが取得できなくなるまでTrue |
説明 |
戻り値の型 |
リプレイモードで動作している場合True(※この関数は、get()の呼び出し以降、またはcallbackの呼び出し以降でなければ正しい結果を返しません) |
bool |
説明 |
バックグラウンドのチャット取得を一時停止します(※callbackを指定しているときのみ有効) |
説明 |
バックグラウンドのチャット取得を再開します(※callbackを指定しているときのみ有効) |