728x90
디스코드 봇으로 일정한 시간마다, 간격마다 메시지를 보내도록 하고 싶을 때가 있다.
매일 아침 9시, 1초마다, 등등 여러 시간대로 설정할 수 있다.
discord.ext의 task를 사용한다.
그리고 시간을 알기위해 datetime을 사용한다.
먼저 datetime으로 현재 날짜와 시간을 가지고 오고 거기서 원하는 년도와 월 또는 일, 시간대를 뽑고 그 시간대와 내가 원하는 시간이 맞는지 확인하면 된다.
# 현재 시간
dt = datetime.datetime.now()
year = dt.
```python
# 1초마다 루프문을 실행
@tasks.loop(seconds=1)
async def every_write_forum():
channel_name = discord.utils.get(bot.guilds[0].forums, name = '1234')
dt = datetime.datetime.now()
# 아침 9시 5분이면 실행
if (dt.hour == 9) and (dt.minute == 5) and ((dt.second > 0) or (dt.second < 60)):
await channel_name.create_thread(
# 제목 (0000-00-00(요일))
name=f'{dt.year}-{dt.month}-{dt.day}({weekend[dt.today().weekday()]})',
# 내용
content='123123123')
# 한 번실행하면 1시간 59분 쉼
await asyncio.sleep(3540)
# 1초 쉼
await asyncio.sleep(1)
728x90
'기타' 카테고리의 다른 글
웹폰트 (0) | 2023.02.21 |
---|---|
[CSS] px 대신 rem 과 em? (0) | 2023.02.21 |
직장인 재테크 따로 하시는거 있나요??시간 투자 재테크 어때요? (0) | 2021.11.18 |
청년 복지포인트 신청기간과 사용처 확인하고 가세요! (0) | 2021.11.14 |
2021 자녀장려금 근로장려금 자격요건, 신청 기간, 지급일 완벽 정리해볼꼐요! (0) | 2021.11.14 |