abidlabs's picture
abidlabs HF staff
Create utils.py
501776d
from __future__ import annotations
import asyncio
import pickle
import hashlib
import pathlib
from typing import Dict, List
import discord
lock = asyncio.Lock()
async def update_pickle_file(data: Dict | List, file_path: str):
async with lock:
with open(file_path, "wb") as fp:
pickle.dump(data, fp)
def read_pickle_file(file_path: str):
with open(file_path, "rb") as fp:
return pickle.load(fp)
async def send_file_or_text(channel, file_or_text: str):
# if the file exists, send as a file
if pathlib.Path(str(file_or_text)).exists():
with open(file_or_text, "rb") as f:
return await channel.send(file=discord.File(f))
else:
return await channel.send(file_or_text)
def remove_tags(content: str) -> str:
content = content.replace("<@1040198143695933501>", "")
content = content.replace("<@1057338428938788884>", "")
return content.strip()
def hash_user_id(user_id: int) -> str:
return hashlib.sha256(str(user_id).encode("utf-8")).hexdigest()