serenity_group_name 0.1.0

I don't know what I'm doing with proc macros, but I hacked together this thing to convert an identifier to SCREAMING_SNAKE_CASE and append "_GROUP" and it works.
Documentation
extern crate proc_macro;

use proc_macro2::{
    Ident,
};

use quote::{
    quote,
};

#[proc_macro]
pub fn group_name(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
    let group = syn::parse_macro_input!(input as Ident);

    let appended_group = format!("{}_GROUP", group.to_string().to_uppercase());
    let ident = Ident::new(&appended_group, group.span());

    let expanded = quote!(#ident);
    proc_macro::TokenStream::from(expanded)
}