Skip to content

Instantly share code, notes, and snippets.

@Neboer
Created November 16, 2022 06:00
Show Gist options
  • Save Neboer/fc0bb112091acdcb31f1d48f3684d4dc to your computer and use it in GitHub Desktop.
Save Neboer/fc0bb112091acdcb31f1d48f3684d4dc to your computer and use it in GitHub Desktop.
import simplematrixbotlib as botlib
from nio import RoomMemberEvent, rooms
from yaml import safe_load
from re import match
with open("config.yaml", "r", encoding="utf8") as config_file:
config = safe_load(config_file)
creds = botlib.Creds(config["target_server"], config["bot_username"], access_token=config["access_token"], session_stored_file=config["session_file"])
bot = botlib.Bot(creds)
# "m.room.member"
@bot.listener.on_custom_event(RoomMemberEvent)
async def welcome(room: rooms.MatrixRoom, message: RoomMemberEvent):
if room.room_id == config["target_room_id"] and message.membership == "join" and message.prev_content is None:
# someone joined!
new_user_id = message.state_key
new_user_name = match(r"@(.*):chat.neboer.site", new_user_id).group(1)
print(new_user_name + " join in!")
await bot.api.send_markdown_message(room.room_id, f"欢迎[{new_user_name}](https://matrix.to/#/@{new_user_name}:chat.neboer.site)加入NerChat!!请访问 neboer.site/nerchat 阅读文档!")
bot.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment