welcome_bot#

This example uses the emoji module to easily add emoji in your text messages and filters to make it only work for specific messages in a specific chat.

Usable by Users Bots
from pyrogram import Client, emoji, filters

# Target chat. Can also be a list of multiple chat ids/usernames
TARGET = -100123456789
# Welcome message template
MESSAGE = "{} Welcome to [Pyrogram](https://docs.pyrogram.org/)'s group chat {}!"

app = Client("my_account")


# Filter in only new_chat_members updates generated in TARGET chat
@app.on_chat_member_updated(filters.chat(TARGET))
async def welcome(client, chat_member_updated):
    if chat_member_updated.old_chat_member:
        return # it's not a new join
    # Build the new members list (with mentions) by using their first_name
    new_member = chat_member_updated.new_chat_member.user.mention
    added_by = message.from_user.id  # is equal to new_member if user wasn't added
    # Build the welcome message by using an emoji and the list we built above
    text = MESSAGE.format(emoji.SPARKLES, new_member)
    # send a message to the chat
    await client.send_message(
        chat_id=chat_member_updated.chat.id,
        text=text
    )

app.run()  # Automatically start() and idle()