Untitled

mail@pastecode.io avatar
unknown
python
a year ago
2.1 kB
27
Indexable
@app.on_message(filters.text)
def search_song(bot, message):
    # Check if the message is a song search query
    if not message.text.startswith("/"):
        # Perform the song search and send results as buttons
        results = perform_song_search(message.text)
        
        if results:
            keyboard = []
            for result in results:
                button = InlineKeyboardButton(
                    text=result.title,
                    callback_data=f"download|{result.id}"
                )
                keyboard.append([button])
                
            reply_markup = InlineKeyboardMarkup(keyboard)
            bot.send_message(
                chat_id=message.chat.id,
                text="Search results:",
          reply_markup=reply_markup
            )

      # Callback query handler
@app.on_callback_query()
def callback(bot, callback_query):
    query = callback_query.data
    if query.startswith("download"):
        song_id = query.split("|")[1]
        audio_file = download_song(song_id)
        bot.send_audio(
            chat_id=callback_query.message.chat.id,
            audio=audio_file,
            title="Song Download"
        )
        os.remove(audio_file)  # Remove the temporary audio file

# Function to perform song search (Dummy implementation)
def perform_song_search(query):
    # Perform song search logic here and return the results
    # For the sake of simplicity, let's assume we have a list of song objects with title and ID
    # Replace this with your actual song search implementation
    songs = [
        {"title": "Song 1", "id": "123"},
        {"title": "Song 2", "id": "456"},
        {"title": "Song 3", "id": "789"}
    ]
    return songs

# Function to download the song (Dummy implementation)
def download_song(song_id):
    # Perform song download logic here and return the path to the audio file
    # For the sake of simplicity, let's assume we have a dummy audio file
    # Replace this with your actual song download implementation
    audio_file = "path/to/dummy/audio.mp3"
    return audio_file

# Start the bot
app.run()
Leave a Comment