diff --git a/bot.py b/bot.py index c818eef..3b1ef15 100644 --- a/bot.py +++ b/bot.py @@ -28,6 +28,7 @@ class Bot(commands.Bot): self.gain = 40 self.squelch = 0 self.sample_rate = "200k" + self.play_sample_rate = '32k' self.sample_rate_re = re.compile('(\d+\.?\d*k)') @@ -94,7 +95,7 @@ class Bot(commands.Bot): self.freq = freq if mode in possible_modes: self.mode = mode - await ctx.send(f"Ok {member}, I have changed the mode to {self.mode} and frequency to {self.freq}") + await ctx.send(f"Ok {member}, I'm changing the mode to {self.mode} and frequency to {self.freq}") if self.sdr_started: self.start_sdr() else: @@ -108,7 +109,7 @@ class Bot(commands.Bot): async def chsquelch(ctx, squelch: int, member: discord.Member = None): member = member or ctx.author.display_name self.squelch = squelch - await ctx.send(f"Ok {member}, I have changed the squelch to {self.squelch}") + await ctx.send(f"Ok {member}, I'm changing the squelch to {self.squelch}") if self.sdr_started: self.start_sdr() @@ -129,8 +130,24 @@ class Bot(commands.Bot): async def chbw(ctx, sample_rate: str, member: discord.Member = None): member = member or ctx.author.display_name if self.sample_rate_re.search(sample_rate): - self.sample_rate = sample_rate - await ctx.send(f"Ok {member}, I have changed the sample rate to {self.sample_rate}") + + # Check to see if sampling rate of player needs to be changed + if '.' in sample_rate: + if len(sample_rate.split('.')[0]) <= 2: + self.sample_rate = sample_rate + self.play_sample_rate = "12k" + else: + self.sample_rate = sample_rate + self.play_sample_rate = "32k" + else: + if len(sample_rate.split('k')[0]) <= 2: + self.sample_rate = sample_rate + self.play_sample_rate = "12k" + else: + self.sample_rate = sample_rate + self.play_sample_rate = "32k" + + await ctx.send(f"Ok {member}, I'm changing the sample rate to {self.sample_rate}") if self.sdr_started: self.start_sdr() else: @@ -208,6 +225,6 @@ class Bot(commands.Bot): self.sdr_process = Popen(["rtl_fm", "-M", str(self.mode), "-f", str(self.freq), "-g", str(self.gain), "-l", str(self.squelch), "-s", str(self.sample_rate)], stdout=PIPE) - self.sdr_output_process = Popen(["play", "-t", "raw", "-r", "32k", "-es", "-b", "16", "-c", "1", "-V1", "-"], + self.sdr_output_process = Popen(["play", "-t", "raw", "-r", str(self.play_sample_rate), "-es", "-b", "16", "-c", "1", "-V1", "-"], stdin=self.sdr_process.stdout) self.sdr_started = True