0
나는 임의로 생성 된 문장을 몇 초마다 분출하는 불화 봇을 만들고 있습니다. 임씨는 문장 구조를 좀더 좋게 만들기 위해 nltk 모듈을 사용하려고 노력하지만 오류가 발생하여 그것을 이해할 수 없다. (나는 파이썬에 익숙하며 내가 알아야 할 모든 것을 배우고있다. 함께)불화 동네를 만들었지 만 "실종 1 필수 위치 인수 : '자기'"
오류 :.
File "/root/PycharmProjects/untitled/Loop.py", line 29, in background_loop
messages = [(POSifiedText.make_sentence(tries=8, max_overlap_total=14, default_max_overlap_ratio=5.6,))]
TypeError: make_sentence() missing 1 required positional argument: 'self'
코드 :
당신은 텍스트 개체의 인스턴스에 make_sentence를 호출 할 필요가import asyncio
import random
import discord.ext.commands
import markovify
import nltk
import re
class POSifiedText(markovify.Text):
def word_split(self, sentence):
words = re.split(self.word_split_pattern , sentence)
words = ["::".join(tag) for tag in nltk.pos_tag (words)]
return words
def word_join(self, words):
sentence = " ".join(word.split("::")[0] for word in words)
return sentence
with open("/root/sample.txt") as f:
text = f.read()
text_model = (markovify.Text(text, state_size=1))
client = discord.Client()
async def background_loop():
await client.wait_until_ready()
while not client.is_closed:
channel = client.get_channel('ChannelIdHere')
messages = [(POSifiedText.make_sentence(tries=8, max_overlap_total=14, default_max_overlap_ratio=5.6,))]
await client.send_message(channel, random.choice(messages))
await asyncio.sleep(10)
client.loop.create_task(background_loop())
client.run("TokenHere")
내가 사용하는'text_model = POSifiedText (markovify.Text (텍스트, state_size = 1))'내가 얻을'형식 오류를 :
나는 당신이 또한과 같이 사용자 정의 클래스를 사용하려는 생각 : 예상 문자열 또는 바이트와 같은 개체' – Museman
수정 됨. 네가 수업을 물려받는 걸 잊어 버렸어. –