WordPress

Allgemein

Technik

Design

Konzept

WordPress Plugins

Interessantes

Vermarktung

Themen

Font / Schriften

Social Media

Youtube

eCommerce

Gemischtes

Kolumne

Webinar

Blog Archiv

Kurse / Webinare

Meine nächste Webinare / Kurse

Wie kann ich Tiktok Kommentare / Timeline in einem Livestream aufzeichnen? (mit Python)

von | Mrz 6, 2023 | Technik | 0 Kommentare

Schlagwörter: add - check - db - print - python - TikTok - Variablen

TikTok die einen Menschen lieben die App die anderen hassen sie. Ich persönlich bin jetzt seit ein paar Jahren hier auf TikTok unterwegs, aber erst Ende Januar habe ich Zugriff zur Livestream Funktion bekommen.

Nun habe ich auch da schon ein paar Livestreams gemacht und so wollte ich natürich auch in meinem Livestream meinen Chat oder Fragen einblenden. Da ich aber kein RTMP Key habe und es keine API gibt, musste ich ein wenig kreativ werden.

Ich habe mich darum auf die Suche nach einer Lösung gemacht, mit der ich den Chat auslesen kann. Da ich weiss das man mit Python relativ schnell gute Lösungen finden oder entwickeln kann, ging ich dieser Spur nach und da habe ich eine Bibliothek für Python gefunden, die meine Lösung war. Mit TikTokLive kann man soetwas wirklich einfach umsetzen.

Ich habe mir dann noch in den Kopf gesetzt, dass ich gerne die Like Daten in einem externen .json File abspeichern möchte. Und auch das habe ich gemacht. Und hier findet ihr das Video und den Quellcode wie auch die verwendeten Bibliotheken.

Video

Python Bibliothek

TikTokLive
TinyDB

Python Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from TikTokLive import TikTokLiveClient
from TikTokLive.types.events import CommentEvent, ConnectEvent, GiftEvent, LikeEvent, FollowEvent, ShareEvent, ViewerCountUpdateEvent
 
#db erstellen
db = TinyDB('tiktok_likes.json')
check = Query()
 
#Variablen vorbereiten
clicks = 0
old_likes = 0
new_likes = 0
 
# Instantiate the client with the user's username
client: TikTokLiveClient = TikTokLiveClient(unique_id="@chefblogger")
 
 
# Define how you want to handle specific events via decorator
@client.on("connect")
async def on_connect(_: ConnectEvent):
    print("Connected to Room ID:", client.room_id)
 
@client.on("like")
async def on_like(event: LikeEvent):
    #print(f"{event.user.uniqueId} hat {event.likeCount} mal den stream geliked. Das sind {event.totalLikeCount} total!")
 
    add_likes = event.likeCount
    user_name = event.user.uniqueId
 
    #add to db
    #check if user drin
    if db.contains(check.name == user_name) == True:
        res_name = db.search(check.name == user_name)[0]
        old_likes = res_name.get('likes')
        new_likes = old_likes + add_likes
        db.update({'likes': new_likes}, check.name == user_name)
 
    else:
        #print("nope")
        db.insert({'name':user_name, 'likes': 1})
 
 
 
 
@client.on("follow")
async def on_follow(event: FollowEvent):
    print(f"{event.user.uniqueId} folgt dem streamer")
 
@client.on("share")
async def on_share(event: ShareEvent):
    print(f"{event.user.uniqueId} teilte den stream")
 
@client.on("viewer_count_update")
async def on_connect(event: ViewerCountUpdateEvent):
    print("++++Viewer+++: ", event.viewerCount)
 
 
# Notice no decorator?
async def on_comment(event: CommentEvent):
    print(f"{event.user.nickname} -> {event.comment}")
 
 
# Define handling an event via "callback"
client.add_listener("comment", on_comment)
 
if __name__ == '__main__':
    # Run the client and block the main thread
    # await client.start() to run non-blocking
    client.run()




0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert