Загрузка...

Автостатус в био Telegram| Spotify | Steam

Тема в разделе Python создана пользователем Yablloko 25 фев 2025. (поднята 19 мар 2025) 223 просмотра

  1. Yablloko
    Yablloko Автор темы 25 фев 2025 85 21 янв 2018
    Простой код с интеграцией Spotify и Steam. Работает на Telethon.
    Инструкции в config.py


    Python
    import asyncio

    from telethon import TelegramClient

    from telethon.tl import functions

    import spotipy

    import logging

    from spotipy.oauth2 import SpotifyOAuth

    from steamwebapi.api import ISteamUser

    from config import (

    API_ID, API_HASH, SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET,

    SPOTIPY_REDIRECT_URI, SCOPE, STEAM_API_KEY, STEAM_USER_ID

    )

    use_spotify = SPOTIPY_CLIENT_ID != '-' and SPOTIPY_CLIENT_SECRET != '-'

    use_steam = STEAM_API_KEY != '-' and STEAM_USER_ID != '-'

    logging.basicConfig(

    level=logging.DEBUG,

    format='%(asctime)s - %(levelname)s - %(message)s',

    handlers=[logging.StreamHandler()]

    )

    if not use_spotify and not use_steam:

    raise ValueError("Ошибка: Заполните конфиг хотя бы для одного из API (Spotify или Steam).")

    if use_spotify:

    sp = spotipy.Spotify(auth_manager=SpotifyOAuth(

    SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, SPOTIPY_REDIRECT_URI, scope=SCOPE))

    if use_steam:

    steam_api = ISteamUser(steam_api_key=STEAM_API_KEY)

    client = TelegramClient(

    'userbot_session',

    API_ID,

    API_HASH,

    device_model="iPhone 13 Pro",

    system_version="iOS 15.4",

    app_version="8.5.1"

    )

    async def update_status():

    last_bio = ''

    while True:

    bio_parts = []

    # Spotify

    if use_spotify:

    current_track = await asyncio.to_thread(sp.current_user_playing_track)

    if current_track and current_track['is_playing']:

    artist = current_track['item']['artists'][0]['name']

    song = current_track['item']['name']

    bio_parts.append(f" Spotify: {artist} — {song}")

    # Steam

    if use_steam:

    steam_data = await asyncio.to_thread(steam_api.get_player_summaries, STEAM_USER_ID)

    player = steam_data['response']['players'][0]

    if 'gameextrainfo' in player:

    current_game = player['gameextrainfo']

    bio_parts.append(f" Играю в {current_game}")

    bio = " | ".join(bio_parts)

    if not bio:

    bio = ''

    if bio != last_bio:

    await client(functions.account.UpdateProfileRequest(about=bio))

    logging.info(f"Обновил био: '{bio}'")

    last_bio = bio

    else:

    logging.debug("Био не изменилось.")

    await asyncio.sleep(30)

    async def main():

    await client.start()

    if use_spotify:

    auth_url = sp.auth_manager.get_authorize_url()

    print(f'Авторизуйся в Spotify по ссылке: {auth_url}')

    print("Автостатус запущен.")

    await update_status()

    if __name__ == '__main__':

    asyncio.run(main())
    Python
    # Конфигурация для Telegram

    # Получи свои API_ID и API_HASH на my.telegram.org

    API_ID =

    API_HASH = ""

    # Конфигурация Spotify API

    # 1. Создай приложение здесь: https://developer.spotify.com/dashboard/applications

    # 2. Укажи в настройках приложения Redirect URI ('http://localhost/')

    # 3. Скопируй Client ID и Client Secret ниже

    # 4. При запуске скрипта в консоли появится ссылка авторизации Spotify:

    # - Перейди по ней в браузере

    # - После авторизации тебя перенаправит на страницу localhost

    # - Скопируй ссылку из адресной строки браузера (она будет содержать '?code=') и вставь её обратно в консоль

    # Если хочешь отключить Spotify — поставь '-' в полях SPOTIPY_CLIENT_ID и SPOTIPY_CLIENT_SECRET

    SPOTIPY_CLIENT_ID = ''

    SPOTIPY_CLIENT_SECRET = ''

    SPOTIPY_REDIRECT_URI = 'http://localhost/'

    SCOPE = 'user-read-currently-playing'

    # Конфигурация Steam API

    # 1. Получи API ключ Steam здесь: https://steamcommunity.com/dev/apikey

    # 2. Получи свой Steam ID64 здесь: https://steamid.io/

    # Если хочешь отключить Steam — поставь '-' в полях STEAM_API_KEY и STEAM_USER_ID

    STEAM_API_KEY = '-'

    STEAM_USER_ID = '-'

    # ВАЖНО:

    # Если отключишь все API (Spotify, Steam), бот выдаст ошибку.

    # Должен быть включён хотя бы один сервис.
    telethon==1.29.2
    spotipy==2.23.0
    steamwebapi==0.77
     
    25 фев 2025 Изменено
  2. КотикЧерный
    КотикЧерный 25 фев 2025 Скинхэд из Новороссийска 774 3 мар 2019
    угнали аккаунт так еще и тв с зала вынесли суки(
     
Загрузка...
Top