목록언어 (40)
안 쓰던 블로그

이전 글: foxtrotin.tistory.com/277 저번 글에서 썼던 코드는 몇 가지 문제가 있었다 1. 다른 사람이 반응을 눌러도 봇이 반응한다 2. 반응을 취소했다가 다시 누르면 또 반응한다 3. 메시지를 올릴 때마다 중복된다 해결 방법은 다음과 같다 1->if문으로 현재 message에 반응한 유저와 명령어를 실행한 유저가 동일 인물인지 확인 2->try문으로 한 번만 실행하게 한다 3->유저가 반응하면 바로 끝나고, 반응하지 않으면 일정 시간 뒤 자동 종료한다 @client.event async def on_message(message): if message.content.startswith('!thumb'): channel = message.channel await channel.send(..
ITEMS = ["STEP", "REDEMPTION", "SNAKE", "ASSASSIN", "STUN", "CAFFEINE", "REDBULL", "BOMB"] item = "asdf" if item not in ITEMS: return "Please enter the item name correctly" not in 을 쓰면 없는지 확인할 수 있다 in을 쓰면 있는지 확인할 수 있다

Tkinter Tkinter는 Tcl/Tk에 대한 파이썬 Wreapper로, Tcl/Tk를 파이썬에 사용할 수 있도록 한 GUI모듈이다 (Tcl은 Tool Command Language의 약자로 프로그래밍 언어라고 할 수 있으며, Tk는 크로스 플랫폼에 사용하는 GUI 툴킷이다) Tkinter는 파이썬 표준 라이브러리라 기본 내장되어 있어서 쉽고 간단한 GUI 프로그램을 만들 때 좋다 기본 문장 from tkinter import * tk = Tk() label = Label(tk, text="라벨") label.pack() txt = Entry(tk) txt.pack() btn = Button(tk, text="버튼") btn.pack() tk.mainloop() Tkinter 모듈을 import해서 ..

이전 글에서 1:1 채팅 프로그램을 만들었다 (foxtrotin.tistory.com/272) 이번에는 소켓으로 파일을 보내는 프로그램을 만들어 본다 기본적인 내용은 1:1 채팅 프로그램 글에 있습니다 파일 처리 방법 파일은 결국 바이너리 파일이라 읽고 쓰기 위해서는 인코딩 과정이 필요하다 그래서 파일을 주고 받을 때도 인코딩을 해서 파일에 쓰고 다시 디코딩 해서 읽어야 한다 파일 전송 과정-서버 측 1. 클라이언트가 파일을 요청한다. 이 때 파일 이름은 이진 바이트 스트림 데이터 형태로 온다 2. 파일 이름을 일반 문자열로 변환한다 3. open으로 해당 파일을 연다 4. read로 파일을 1024바이트 읽는다 5. 파일이 빈 문자열일 때까지 계속 1024바이트씩 읽고 전송한다(각 라인을 읽어서 리턴해..

봇이 이모지로 반응하기 foxtrotin.tistory.com/274 메시지를 이쁘게 출력하기 foxtrotin.tistory.com/276 이전 글에서 봇이 메시지에 반응해 주는 기능을 구현했다 이번엔 유저가 그 반응을 누르면 봇이 메시지를 보내보는 기능이다 import discord import asyncio from discord.ext import commands from discord.ext.commands import Bot client = discord.Client() @client.event async def on_message(message): if message.content.startswith('!shop'): embed = discord.Embed(title="SHOP BOT",de..

import discord import asyncio from discord.ext import commands from discord.ext.commands import Bot client = discord.Client() @client.event async def on_message(message): if message.content.startswith('!shop'): embed = discord.Embed(title="SHOP BOT",description="SHOP 아이템 목록. 쇼핑을 합시다", color=0x00aaaa) embed.add_field(name="STEP🦶", value="빠르게 이동한다", inline=False) embed.add_field(name="STUN⚔️", val..

import discord import asyncio from discord.ext import commands from discord.ext.commands import Bot client = discord.Client() @client.event async def on_ready(): print("디스코드 봇 로그인이 완료되었습니다.") print("디스코드봇 이름:" + client.user.name) print("디스코드봇 ID:" + str(client.user.id)) print("디스코드봇 버전:" + str(discord.__version__)) print('------') await client.change_presence(status=discord.Status.online, activi..